我尝试通过按下“运行全部”按钮在ASP.NET MVC中运行Visual Studio测试,但所有测试都被跳过了。为什么会发生这种情况,我该如何运行所有测试?以下是截图:
我尝试通过按下“运行全部”按钮在ASP.NET MVC中运行Visual Studio测试,但所有测试都被跳过了。为什么会发生这种情况,我该如何运行所有测试?以下是截图:
检查测试是否有忽略属性。
使用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.")
您所指向的测试设置文件可能无效。请确保该设置文件具有正确的参数(例如远程或本地),然后在工具栏中转到 Tests>Test Settings>Select Test Settings File
以选择有效的文件。
也可能是由于测试一个64位项目,但 test->Test Settings->Default Processor Architecture=x86 所导致。
假设你的之前的测试都没有失败,那么你的测试可能因为权限不足而被跳过。
您可以在测试中使用“TestCategories”注释。将它们标记为:
[TestCategory("Admin") TestMethod()]
public Void Test1()
{
...
}
然后排除类别:
mstest /testcontainer:MyTestprojectName.dll /category:"!Admin"
您可以在每个测试中使用多个类别。 有关详细信息: http://msdn.microsoft.com/en-us/library/dd286683.aspx
除了这里提到的,还要检查TestClass是否也具有Ignore属性(不仅仅是测试方法)。这个问题曾经让我吃过亏...
我知道这是一个旧问题,没有被接受的答案,但也许这会对某些人有所帮助。
在测试资源管理器(Test Explorer)中(Tests -> Windows -> Test Explorer),你可以看到所有被跳过的测试。如果你双击测试名称,它将打开实际的测试代码。检查测试是否有 [Ignore] 属性,如果你想运行测试,请删除它。(如@Sridarshan建议)
P.S. 我用的是NUnit测试。
我在TestSettings.testsettings文件中定义了一个安装脚本,但是这个脚本在我的开发机上不存在。
<Scripts setupScript="C:\Deployment\UnitTestSetup.cmd" />