34

我试图通过按“全部运行”在 ASP.NET MVC 中运行 Visual Studio 测试,但所有测试都被跳过了。为什么会发生这种情况,我该如何运行所有测试?这是一个屏幕截图:

跳过的测试

4

10 回答 10

28

检查测试是否具有忽略属性。

于 2014-07-21T09:46:25.933 回答
7

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

在测试窗口中将读取为已跳过

于 2014-07-16T20:08:11.290 回答
3

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

于 2014-10-06T19:38:36.400 回答
3

我在 VS 2015 中得到了这个,以及 QTAgent32 停止工作等。结果与测试设置无关,实际上是我正在测试的课程中的堆栈溢出(我不骗你)

我有几个测试失败了,当代理失败时,还有一大堆其他人跳过了。我注释掉了受影响区域中的所有测试,直到运行全部正常,然后将它们拉回直到失败,然后为了查看实际的 SO 异常,我必须调试测试。

然后我用手掌拍了几下并固定它。不太可能的情况,但你永远不知道。

于 2017-02-21T22:39:47.600 回答
2

假设您之前的一项测试没有失败,您的测试可能由于权限不足而被跳过。

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

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

然后排除类别:

mstest /testcontainer:MyTestprojectName.dll /category:"!Admin"

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

于 2013-07-10T19:23:07.980 回答
2

也是由测试 64 位项目但 test->Test Settings->Default Processor Architecture=x86 引起的

于 2019-09-05T13:41:56.447 回答
2

除了这里提到的之外,检查 TestClass 是否也没有 Ignore 属性(不仅仅是测试方法。)这让我有一次...

于 2018-10-24T23:05:44.227 回答
1

我知道这是一个老问题,没有公认的答案,但也许这会对某人有所帮助。

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

PS 我有 NUnit 测试。

于 2015-10-20T08:15:32.477 回答
0

在 xUnit 中,将跳过标记FactAttribute为哪个Skip属性设置为某项的测试。

于 2019-11-01T12:38:49.437 回答
0

我在我的 TestSettings.testsettings 文件中定义了一个安装脚本,该脚本在我的开发机器上不存在。

<Scripts setupScript="C:\Deployment\UnitTestSetup.cmd" />
于 2020-09-14T10:20:34.953 回答