繁体   English   中英

为什么我所有的 Visual Studio 测试结果都“未执行”

[英]Why are all my Visual Studio test results "Not executed"

当我在我的项目中运行我的单元测试时,我看到每个测试结果“未执行”。 我已经重新启动了我的计算机,所以我怀疑这是某种挂起的进程问题。

谷歌没有透露任何信息。 有没有人有任何想法?

什么皮塔饼! IDE 没有显示任何错误。 为了确定错误,您必须这样做

  1. 打开 Visual Studio 命令提示符
  2. 切换到测试项目的二进制输出所在的目录。
  3. 输入 mstest /testcontainer:The.Name.Of.Your.Test.Assembly.dll

在输出的底部,您将看到以下文本

运行有以下问题:

就我而言,情况如下:

无法排队测试运行“Peter Morris@PETERMORRIS-PC 2009-02-09 10:00:37”:测试运行部署问题:文件或目录的位置“C:\\SomePath\\SomeProject.Tests\\bin\\Debug\\” Rhino.Mocks.dll' 不受信任。

现在,如果 VS 在 IDE 中告诉我这个,我可以在几分钟内修复它! 您所要做的就是打开 Windows 资源管理器并找到该 DLL。 右键单击它并转到“属性”。 然后单击“取消阻止”按钮。

真是浪费我的时间!

未执行单元测试

我发现永远不要为单元测试类设置构造函数是一个很好的建议。 如果构造函数中的任何内容抛出,则测试将仅报告为“未执行”。 将测试初始化​​放在 TestInitialize 方法中。 在那里抛出的异常由 IDE 报告。

被阻止的二进制文件

通常,在从中提取二进制文件之前,您必须先解锁 ZIP 文件本身,然后才能解锁所有二进制文件。 如果您尝试解锁二进制文件本身,解锁不会“坚持”。

“无法将测试运行 'XXX' 排队。路径不合法。 ”的另一个原因是该帐户没有加载配置文件。

例如,当您使用 CreateProcessAsUser() 启动 mstest.exe 而忘记调用 LoadUserProfile() 时。

如果您尝试从IIS启动测试运行,则会出现“无法将测试运行 'XXX' 排队。路径不合法。” 如果运行应用程序池的用户没有用户配置文件,则可以抛出。 为了解决这个问题,只需在应用程序池高级设置中将 Load User Profile 设置为 true。

请参阅https://social.msdn.microsoft.com/Forums/vstudio/en-US/7bb32a2d-7d10-4b8e-b743-e5beb1175917/trigger-mstest-from-app-hosted-on-iis?forum=csharpgeneral

https://blogs.msdn.microsoft.com/vijaysk/2009/03/08/iis-7-tip-3-you-can-now-load-the-user-profile-of-the-application-pool -身份/

欲了解更多信息

确保您的测试类和测试方法是公开的。

就我而言,我的代码中有一个循环引用。 编译工作,但测试只是标记为“未运行”。

有时错误也可能是“无法排队测试运行'XXX'。路径不合法。

解决方案可能是更改 .testsettings 文件中的 TRX 命名模式。

引自http://social.msdn.microsoft.com/Forums/da-DK/vststest/thread/c6efa2ba-1657-41bc-85b1-5a889d111e2f

如果要控制此 .trx 文件的名称,请打开解决方案资源管理器,在解决方案项中打开 Local.testsettings,选择常规,将默认命名方案更改为用户定义的方案。 进而,

  1. 您可以使用 VS 运行测试以获取您定义的 .trx 文件。

  2. 如果你想在命令行中得到这个结果,你可以用 /testsettings:Local.Testsettings 运行它。 有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms182489.aspx#testsettings

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM