16

是否可以从命令行运行所有属于某个类别的测试?从文档中,我知道我可以运行属于某个类别的所有测试,执行以下操作:

vstest.console.exe myTestProject.dll /TestCaseFilter:TestCategory="Nightly"

我想要做的是将一些测试方法分配给一个测试类别,然后一次运行这些测试。然后我想在单独的测试运行中运行其余的测试(这是我当前的问题所在)。我有超过 1000 个测试,所以我希望不必对所有 TestMethod 属性进行搜索和替换来添加“基本”类别。我也不想将测试分成不同的项目。

谢谢。

4

1 回答 1

25

好吧,我得到了这个问题的风滚草徽章,所以我想没有人感兴趣。万一有人偶然发现了同样的问题,我发现我可以使用 != 运算符。Microsoft 文档非常精简,但我在MSDN 博客“使用 TestCaseFilter 在 VS 2012 RC 中运行选择性单元测试”中找到了我需要的信息。

所以,答案是:

vstest.console.exe myTestProject.dll /TestCaseFilter:TestCategory!="Nightly"

更新:正如下面 Rob Bos 所指出的。文档现在有:

dotnet test --filter FullyQualifiedName!=MSTestNamespace.UnitTestClass1.TestMethod1

运行除 MSTestNamespace.UnitTestClass1.TestMethod1 之外的所有测试

在MSDN上运行选择性单元测试

于 2013-11-19T00:03:44.663 回答