尝试在jenkins上运行mstest时出错

时间:2014-01-14 11:43:45

标签: jenkins msbuild mstest

我正在尝试在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。此文件未进行版本控制,我希望在每个版本上创建它。

需要做些什么?

3 个答案:

答案 0 :(得分:29)

经过一番调查后,我可以通过以下方式让MSTest在Jenkins工作:

选择管理Jenkins

enter image description here

从Manage Jenkins中选择Configure System

enter image description here

在Configure System中,您需要找到MSTest并添加MSTest配置

enter image description here

根据需要输入您的配置。我看来如下:

enter image description here

保存配置,然后转到构建项目并配置相应的项目,如下所示:

enter image description here

有一点需要注意的是,我没有按照作者网站上列出的任何步骤进行操作,因为它们似乎对我没有任何意义。然而,我确实阅读了代码并花了一些时间进行挖掘,并意识到缺少的部分是在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-338561792https://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