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

时间:2009-02-08 11:42:38

标签: visual-studio-2008 unit-testing

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

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

7 个答案:

答案 0 :(得分:37)

什么是PITA! IDE不显示任何错误。为了确定错误,你必须这样做

  1. 打开Visual Studio命令提示符
  2. 切换到测试项目的二进制输出所在的目录。
  3. 输入mstest /testcontainer:The.Name.Of.Your.Test.Assembly.dll
  4. 在输出的底部,您将看到以下文字

      

    运行有以下问题:

    就我而言,情况如下:

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

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

    完全浪费我的时间!

答案 1 :(得分:6)

未执行单元测试

我发现从不拥有单元测试类的构造函数是个好建议。如果构造函数中的任何内容抛出,则测试将仅报告为“未执行”。将测试初始化​​放在TestInitialize方法中。 IDE报告了例外情况。

阻止二进制文件

通常,在从中提取二进制文件之前,您必须取消阻止ZIP文件,然后才能解除阻止所有二进制文件。如果您尝试取消阻止二进制文件本身,则解锁不会“粘住”。

答案 2 :(得分:1)

“无法对测试运行排队'XXX'的另一个原因。路径不合法。”是帐户没有加载个人资料。

E.g。当您使用CreateProcessAsUser()启动mstest.exe时,忘记调用LoadUserProfile()。

答案 3 :(得分:1)

如果您尝试从 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-identity/

了解更多信息

答案 4 :(得分:0)

有时错误也可能是“无法对测试运行排队'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.   
  3. 如果要在命令行中获取此结果,可以使用/testsettings:Local.Testsettings运行它。有关更多信息,请参阅   http://msdn.microsoft.com/en-us/library/ms182489.aspx#testsettings

  4.   

答案 5 :(得分:0)

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

答案 6 :(得分:0)

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

相关问题