如何从 Jenkins 上的 mstest 排除使用“/Category”的测试

How to exclude tests using "/Category" from mstest on Jenkins

在您指出其他问题之前,请继续阅读...

我是 运行 来自 Jenkins 的 mstest 论点(不确定这是否相关)并且想排除不属于特定类别的测试。 使用 /category:CI 将测试包括在一个类别中是一种享受,但是当我使用它来排除使用 /category:!CI 的测试时,它不起作用。它只是说 no tests to execute。我 %110 确定我的容器中有不属于此类的测试。 我正在使用 VS2010 的 mstest 测试。

mstest.exe /testcontainer:%%i /runconfig:%TestSettingFile% /category:"!CI" /resultsfile:Results.trx

知道我做错了什么吗

编辑 我发现这个命令在 运行 来自 Jenkins 时不起作用,但它可以通过本地框上的 cmd 正常工作 - Jenkins 当前是否存在与此相关的错误?

有趣的是,将类别作为最后一个参数似乎奏效了。如果您遇到同样的问题,请尝试移动参数。

编辑

虽然上面的答案完全不正确,但我只留下作为参考。

事实证明,Jenkins 批处理命令忽略了“!”标记,所以为了避免它,我不得不使用“^”字符。

所以我的类别现在列为 /category:"^!CI"