我正在尝试在jenkins上配置MSTest构建插件,但是我收到以下错误:
Path To MSTest.exe: mstest.exe
Result file was not found so no action has been taken. file:/C:/Program%20Files%20(x86)/Jenkins/jobs/SoftwrenchvNext/workspace/TestResult.trx
FATAL: null
java.lang.NullPointerException
at org.jenkinsci.plugins.MsTestBuilder.perform(MsTestBuilder.java:144)
配置只是将TestResult.trx指定为ResultFileName。此文件未进行版本控制,我希望在每个版本上创建它。
需要做些什么?
答案 0 :(得分:29)
经过一番调查后,我可以通过以下方式让MSTest在Jenkins工作:
选择管理Jenkins
从Manage Jenkins中选择Configure System
在Configure System中,您需要找到MSTest并添加MSTest配置
根据需要输入您的配置。我看来如下:
保存配置,然后转到构建项目并配置相应的项目,如下所示:
有一点需要注意的是,我没有按照作者网站上列出的任何步骤进行操作,因为它们似乎对我没有任何意义。然而,我确实阅读了代码并花了一些时间进行挖掘,并意识到缺少的部分是在Jenkins的配置系统页面中。
干杯!
答案 1 :(得分:22)
我也有同样的错误信息!
我的建议是替换“使用MSTest运行单元测试”步骤。使用“执行Windows批处理命令”步骤。这对我有用。
<强>命令强>
del TestResults.trx
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe" /testcontainer:Example.Tests\bin\Debug\Example.Tests.dll /resultsfile:TestResults.trx
使用此技术,您仍然可以使用“发布MSTest测试结果报告”步骤指定...
测试报告TRX文件
TestResults.trx
祝你好运!
此外,您可以通过“退出”调用“模拟”“继续失败测试”功能,如下所示。
del TestResults.trx
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\MSTest.exe" /testcontainer:Example.Tests\bin\Debug\Example.Tests.dll /resultsfile:TestResults.trx /nologo
EXIT /B 0
答案 2 :(得分:0)
需要注意的另一件事:这不适用于.NetCore,仅适用于常规的.Net Framework :(请参见https://github.com/Microsoft/vstest/issues/1213#issuecomment-338561792和https://developercommunity.visualstudio.com/content/problem/238572/mstest-command-line-reports-no-tests-to-run.html)
我在Jenkins中使用了批处理作业,其内容类似于以下代码:
dotnet test src\Folder\Project.csproj --logger:trx
请在此处找到dotnet test
的完整参考:https://docs.microsoft.com/de-de/dotnet/core/tools/dotnet-test?tabs=netcore21