问题在Jenkins上运行NUnit测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题在Jenkins上运行NUnit测试相关的知识,希望对你有一定的参考价值。

我为Xamarin项目编写了一些小的nunit测试。它们在我的Mac Mini(jenkins构建平台)的终端上运行得很好。当我在jenkins上运行相同的命令时,我遇到了一个我无法解释的奇怪错误。我已经尝试提供完整的文件路径并以root身份运行命令,但我仍然抛出此错误。如果有任何人有这方面的经验,将不胜感激。

构建过程的命令:

nuget restore CoreTests.sln
msbuild CoreTests.sln /t:Build
mono nunit3-console.exe CoreTests.dll

错误输出:

NUnit Console Runner 3.7.0版权所有(c)2017 Charlie Poole,Rob Prouse

运行时环境操作系统版本:MacOSX 16.6.0.0 CLR版本:4.0.30319.42000

测试文件CoreTests / CoreTests / bin / Debug / CoreTests.dll

错误,失败和警告

1)错误:ApplicationName ='mono',CommandLine =' - runtime = v4.0.30319“/Users/falconbot/Documents/NUnit/nunit-agent.exe”8e81b5fe-8dba-4da0-8612-5c0cabe9d40f tcp://127.0 .0.1:55001 / TestAgency --pid = 97532',CurrentDirectory ='',Native error =在<70507a44a84041d599bbfa8f3d0ea5b1>中的System.Diagnostics.Process.StartWithCreateProcess(System.Diagnostics.ProcessStartInfo startInfo)[0x002dc]中找不到指定的文件: 0在System.Diagnostics.Process.Start()[0x0003a]的<70507a44a84041d599bbfa8f3d0ea5b1>:0 at(wrapper remoting-invoke-with-check)System.Diagnostics.Process:Start()at NUnit.Engine.Services.TestAgency.LaunchAgentProcess (NUnit.Engine.TestPackage包)[0x002f2]在<1e8ad6af4c6f4686ad7e5f9e67020b3b>中:0在NUnit.Engine.Services.TestAgency.CreateRemoteAgent(NUnit.Engine.TestPackage包,System.Int32 waitTime)[0x00000]在<1e8ad6af4c6f4686ad7e5f9e67020b3b>:0 at NUnit.Engine.Services.TestAgency.GetAgent(NUnit.Engine.TestPackage包,System.Int32 waitTime)[0x00000]在<1e8ad6af4c6f4686ad7e5f9e67020b3b>:0 at(wrapper remoting-invoke-with-check)NUnit.Engine.Services.TestAgency:GetAgent(NUnit.Engine.TestPackage,int)at NUnit.Engine.Runners.ProcessRunner.CreateAgentAndRunner()[0x0003d] in <1e8ad6af4c6f4686ad7e5f9e67020b3b>:0在<1e8ad6af4c6f4686ad7e5f9e67020b3b>中的NUnit.Engine.Runners.ProcessRunner.RunTests(NUnit.Engine.ITestEventListener监听器,NUnit.Engine.TestFilter过滤器)[0x0001f]:0

测试运行总结总体结果:失败测试次数:0,通过:0,失败:0,警告:0,不确定:0,跳过:0开始时间:2017-09-28 18:18:49Z结束时间:2017-09 -28 18:18:49Z持续时间:0.089秒

结果(nunit3)保存为TestResult.xml构建步骤'执行shell'将构建标记为失败

答案

如果你没有错误地到达第三行我会建议它应该是:

nunit3-console.exe <workspace_relative_path_to_project_containing_tests>.dll

免责声明:我是NUnit项目的贡献者,也是Saucery3 nuget包的作者。但我不是单声道专家。

以上是关于问题在Jenkins上运行NUnit测试的主要内容,如果未能解决你的问题,请参考以下文章

如何迭代地运行 nunit 测试

NUnit3 测试不在 TFS 构建上运行

NUnit 有时以“无法定位夹具”结尾

通过 NUnit 运行 C++ 代码

nUnit 的结果未显示在 SonarQube 中

使用参数并行运行 nunit 测试 (nunit 3.8.x)