2012-10-11 47 views
16

我试图通过按下“全部运行”来运行ASP.NET MVC中的Visual Studio测试,但所有测试均被跳过。为什么会发生这种情况,我如何运行所有测试?下面是截图:什么是在Visual Studio中跳过的测试?

Skipped Tests

+1

你有测试设置文件吗? –

+0

是的,我有TestSettings.testsettings文件。 – testCoder

+0

测试设置文件是否指定要运行哪些测试?主要是在文件夹下,测试所在的文件夹包括在内? –

回答

2

假设你的一个测试事先没有失败,你的测试可能已经跳过由于权限不足。

您可以在测试中使用“TestCategories”注释。标记他们:

[TestCategory("Admin") TestMethod()] 
public Void Test1() 
{ 
    ... 
} 

然后排除类别:

MSTEST /testcontainer:MyTestprojectName.dll /类别: “管理员”

你可以在每个测试中使用多个类别。 深入信息: http://msdn.microsoft.com/en-us/library/dd286683.aspx

4

使用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.") 

将在测试窗口,如果测试有一个Ignore属性改为跳过

9

检查。

+0

使用Ignore属性运行SpecFlow测试会使测试浏览器跳过测试 – JSDeveloper

+0

我只是想添加一个注意事项来注意Ignore属性可以应用于方法和类。 –

2

您指向的测试设置文件可能无效。确保设置文件具有正确的参数(远程或本地等),然后转至工具栏中的Tests>Test Settings>Select Test Settings File以选择有效文件。

1

我知道这是一个老问题,没有可接受的答案,但也许这会帮助别人。

在测试资源管理器(测试 - > Windows - >测试资源管理器)中,您可以看到所有跳过的测试。如果您双击测试名称,它将打开实际的测试代码。检查测试是否具有[Ignore]属性,如果要运行测试,请将其删除。 (如@Sridarshan建议)

P.S.我有NUnit测试。

2

我在VS 2015中得到了这个,随着QTAgent32停止工作等原来与测试设置无关,实际上是一个堆栈溢出(我不小孩你)在我正在测试的类。

我有几次测试失败,并且当代理发生故障时,其他人都跳过了。我评论了受影响区域内的所有测试,直到所有测试都运行完毕,然后将其拉回,直到失败,然后看到实际的SO异常,我必须调试测试。

然后我面对几次并修复它。 不太可能的情况,但你永远不知道。

相关问题