我尝试通过按“全部运行”在ASP.NET MVC中运行Visual Studio测试,但是跳过了所有测试。为什么会发生这种情况?如何运行所有测试?这是一个截图:
答案 0 :(得分:21)
检查测试是否具有Ignore属性。
答案 1 :(得分:6)
使用Inconclusive
结果的测试将显示为已跳过。所以VS 2010 inconclusive == VS 2012 skipped
例如:
Assert.Inconclusive("This test didn't exactly fail, but we can't be certain the results are good.")
将在测试窗口中读取为跳过
答案 2 :(得分:3)
我在VS 2015中得到了这个,随着QTAgent32停止工作等原因是与测试设置无关,实际上是一个堆栈溢出(我没想你)在课堂上我正在测试。
我有几次测试失败,当代理人失败时,其他一些测试都跳过了。我注释了受影响区域中的所有测试,直到完成所有工作,然后将它们拉回来直到失败,然后查看实际的SO异常我必须调试测试。
然后我面对几次并修好了。 不太可能的情况,但你永远不知道。
答案 3 :(得分:2)
假设您之前的某个测试没有失败,由于权限不足,您的测试可能已被跳过。
您可以在测试中使用“TestCategories”注释。标记他们:
[TestCategory("Admin") TestMethod()]
public Void Test1()
{
...
}
然后排除类别:
mstest /testcontainer:MyTestprojectName.dll / category:“!Admin”
您可以在每个测试中使用多个类别。 有关深入信息: http://msdn.microsoft.com/en-us/library/dd286683.aspx
答案 4 :(得分:2)
您指向的测试设置文件可能无效。确保设置文件具有正确的参数(远程或本地等),然后转到工具栏中的Tests>Test Settings>Select Test Settings File
以选择有效文件。
答案 5 :(得分:1)
我知道这是一个老问题而且没有被接受的答案,但也许这会对某人有帮助。
在测试资源管理器(测试 - > Windows - >测试资源管理器)中,您可以看到所有跳过的测试。如果双击测试名称,它将打开实际的测试代码。检查测试是否具有[Ignore]属性,如果要运行测试,请将其删除。 (正如@Sridarshan建议的那样)
P.S。我有NUnit测试。
答案 6 :(得分:1)
除了此处提到的内容外,请检查TestClass是否也没有Ignore属性(不仅仅是测试方法。)这一次让我难过...
答案 7 :(得分:0)
也是由测试64位项目引起的,但测试-> Test Settings-> Default Processor Architecture = x86
答案 8 :(得分:0)
在xUnit中,将跳过标记有FactAttribute
属性Skip
的测试。
答案 9 :(得分:0)
我在TestSettings.testsettings文件中定义了一个安装脚本,而该脚本在开发机器上不存在。
<Scripts setupScript="C:\Deployment\UnitTestSetup.cmd" />