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

Alt*_*F4_ 3 continuous-integration mstest jenkins gitlab gitlab-ci

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

我正在运行来自 Jenkins 的 mstest 参数(不确定这是否相关)并希望排除不属于特定类别的测试。在一个类别中包含测试可以使用 ,/category:CI但是当我使用它来排除使用/category:!CI它的测试时不起作用。它只是说no tests to execute。我 %110 确定我的容器中有不属于此类别的测试。我正在为 VS2010 使用 mstest 测试。

mstest.exe /testcontainer:%%i /runconfig:%TestSettingFile% /category:"!CI" /resultsfile:Results.trx
Run Code Online (Sandbox Code Playgroud)

知道我可能做错了什么

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

Alt*_*F4_ 5

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

编辑

我只留下上面的答案作为参考,即使它完全不正确。

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

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