Visual Studio 2012 vstest:运行不属于某个类别的测试

aca*_*lon 16 testing vstesthost visual-studio-2012

是否可以从命令行运行属于某个类别的所有测试?从文档中,我知道我可以运行所有类别成员的测试,例如:

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

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

谢谢.

aca*_*lon 24

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

所以,答案是:

vstest.console.exe myTestProject.dll /TestCaseFilter:TestCategory!="Nightly"
Run Code Online (Sandbox Code Playgroud)

更新:正如Rob Bos在下面指出的那样.文档现在有:

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

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

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

  • 我同意这方面没有足够的文件.如果你有多个TestCategories,你可以过滤多个表达式:`"TestCategory!= Other&TestCategory!= Another&TestCategory!=那个" (6认同)