Teamcity Nunit 3.0控制台运行器无法正常工作

时间:2016-02-08 02:49:59

标签: c# teamcity teamcity-9.0 nunit-console nunit-3.0

我正在尝试使用TeamUnity的NUnit 3.0控制台运行程序。这是我的配角。

enter image description here

当我运行配置时,出现以下错误

>  Run Unit Tests (NUnit) (1s)
[10:44:03][Step 3/3] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_3' value='0.0']
[10:44:03][Step 3/3] Starting: C:\TeamCity\buildAgent\work\e6cc09e5f0da4a07\Libs\NUnit.Console.3.0.1\tools\nunit3-console.exe C:\TeamCity\buildAgent\temp\buildTmp\O1YAIPlezg1Cm2NfZTD88h0Nb2Q14zOF.nunit --work=C:\TeamCity\buildAgent\work\e6cc09e5f0da4a07 --noresult --noheader
[10:44:03][Step 3/3] in directory: C:\TeamCity\buildAgent\work\e6cc09e5f0da4a07
[10:44:03][Step 3/3] Runtime Environment
[10:44:03][Step 3/3]    OS Version: Microsoft Windows NT 10.0.10586.0
[10:44:03][Step 3/3]   CLR Version: 4.0.30319.42000
[10:44:03][Step 3/3] 
[10:44:03][Step 3/3] Test Files
[10:44:03][Step 3/3]     C:\TeamCity\buildAgent\temp\buildTmp\O1YAIPlezg1Cm2NfZTD88h0Nb2Q14zOF.nunit
[10:44:03][Step 3/3] 
[10:44:04][Step 3/3] 
[10:44:04][Step 3/3] Errors and Failures
[10:44:04][Step 3/3] 
[10:44:04][Step 3/3] 1) Invalid : C:\TeamCity\buildAgent\temp\buildTmp\O1YAIPlezg1Cm2NfZTD88h0Nb2Q14zOF.nunit
[10:44:04][Step 3/3] Format of the executable (.exe) or library (.dll) is invalid.
[10:44:04][Step 3/3] 
[10:44:04][Step 3/3] Test Run Summary
[10:44:04][Step 3/3]     Overall result: Failed
[10:44:04][Step 3/3]    Tests run: 0, Passed: 0, Errors: 0, Failures: 0, Inconclusive: 0
[10:44:04][Step 3/3]      Not run: 0, Invalid: 0, Ignored: 0, Explicit: 0, Skipped: 0
[10:44:04][Step 3/3]   Start time: 2016-02-08 02:44:04Z
[10:44:04][Step 3/3]     End time: 2016-02-08 02:44:04Z
[10:44:04][Step 3/3]     Duration: 0.006 seconds
[10:44:04][Step 3/3] 
[10:44:04][Step 3/3] Process exited with code -2
[10:44:04][Step 3/3] ##teamcity[buildStatisticValue key='buildStageDuration:buildStepRUNNER_3' value='1095.0']
[10:44:04][Step 3/3] Step Run Unit Tests (NUnit) failed

从错误中,我猜它找不到运行测试的Dll,但我检查了checkout目录中的路径和文件,一切似乎都正确。请告诉我,我做错了什么?

2 个答案:

答案 0 :(得分:2)

使用团队城市正在使用的命令手动运行测试:

在目录C:\ TeamCity \ buildAgent \ work \ e6cc09e5f0da4a07中运行: C:\ TeamCity \ buildAgent \ work \ e6cc09e5f0da4a07 \ Libs \ NUnit.Console.3.0.1 \ tools \ nunit3-console.exe C:\ TeamCity \ buildAgent \ temp \ buildTmp \ O1YAIPlezg1Cm2NfZTD88h0Nb2Q14zOF.nunit --work = C:\ TeamCity \ buildAgent \ work \ e6cc09e5f0da4a07 --noresult --noheader

有关更多参数,请参阅https://github.com/nunit/docs/wiki/Console-Command-Line

如果您增加跟踪信息,可以从中获取更多信息。

此外,如果您使用JetBrains dotCover运行代码覆盖,即使测试成功,它也会失败。如果是这种情况,请尝试禁用代码覆盖率。

答案 1 :(得分:1)

为了使它工作,我使用NuGet将NUnit.ConsoleRunner v 3.5.0添加到我的项目中。然后我收到一个错误:“不支持文件类型”,修复我添加了NUnit.Extension.NUnitProjectLoader v 3.5.0。 (我尝试使用NUnit.Extension.VSProjectLoader,但这并没有解决我的问题)