Visual Studio 中跳过了哪些测试?

问题描述 投票:0回答:11

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

Skipped Tests

c# asp.net-mvc unit-testing visual-studio-2012
11个回答
34
投票

检查测试是否具有 Ignore 属性。


8
投票

使用

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

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


4
投票

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

Tests>Test Settings>Select Test Settings File
选择有效文件。


4
投票

我在 VS 2015 中得到了这个,以及 QTAgent32 停止工作等。事实证明与测试设置无关,实际上是我正在测试的类中的堆栈溢出(我没有骗你)

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

然后我脸巴掌几下就修好了。 不太可能发生的情况,但你永远不知道。


3
投票

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


2
投票

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

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

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

然后排除类别:

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

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


2
投票

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


1
投票

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

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

附注我进行了 NUnit 测试。


1
投票

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

<Scripts setupScript="C:\Deployment\UnitTestSetup.cmd" />

0
投票

在 xUnit 中,将跳过标有

FactAttribute
Skip
属性设置为某项的测试。


0
投票

可能与这种具体情况无关,但如果测试资源管理器中没有运行任何 NUnit 测试并且它们被跳过,您可能需要检查是否安装了 Microsoft.Net.Test.Sdk nuget。是需要的。

© www.soinside.com 2019 - 2024. All rights reserved.