为什么我的所有Visual Studio测试结果都“未执行”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的所有Visual Studio测试结果都“未执行”相关的知识,希望对你有一定的参考价值。
当我在我的项目中运行单元测试时,我看到每个人的结果都是“未执行”。我已经重新启动了我的计算机,所以我怀疑这是一个挂起的进程问题。
谷歌没有透露任何信息有没有人有任何想法?
什么是PITA! IDE不显示任何错误。为了确定错误,你必须这样做
- 打开Visual Studio命令提示符
- 切换到测试项目的二进制输出所在的目录。
- 键入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即可。
了解更多信息
有时错误也可能是“无法排队测试运行'XXX'。该路径不是合法形式。”
解决方案可能是更改.testsettings文件中的TRX命名模式。
来自http://social.msdn.microsoft.com/Forums/da-DK/vststest/thread/c6efa2ba-1657-41bc-85b1-5a889d111e2f的引用:
如果要控制此.trx文件的名称,请打开解决方案资源管理器,在“解决方案项”中打开“Local.testsettings”,选择“常规”,将“默认命名方案”更改为“用户定义的方案”。然后,
- 您可以使用VS运行测试以获取您定义的.trx文件。
- 如果要在命令行中获取此结果,可以使用/testsettings:Local.Testsettings运行它。有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/ms182489.aspx#testsettings。
确保您的测试类和测试方法是公开的。
就我而言,我的代码中有一个循环引用。编译工作,但测试只标记为“未运行”。
以上是关于为什么我的所有Visual Studio测试结果都“未执行”的主要内容,如果未能解决你的问题,请参考以下文章
使用 Visual Studio 2008 进行负载测试:分析结果的麻烦
在VNext构建中执行Visual Studio Test任务期间无法发布测试结果