Travis CI无法运行NUnit 3控制台运行程序

cid*_*ack 3 nunit-console travis-ci nunit-3.0

我使用Travis CI设置了远程构建.这是我的配置文件:

language: csharp
solution: DungeonGen.sln
install:
  - nuget restore DungeonGen.sln
  - nuget install NUnit.Runners -OutputDirectory testrunner
script:
  - xbuild DungeonGen.sln /p:TargetFrameworkVersion="v4.5.1" /p:Configuration=Stress
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Generators/bin/Stress/DungeonGen.Tests.Unit.Generators.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Selectors/bin/Stress/DungeonGen.Tests.Unit.Selectors.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Mappers/bin/Stress/DungeonGen.Tests.Unit.Mappers.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Tables/bin/Stress/DungeonGen.Tests.Unit.Tables.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Bootstrap/bin/Stress/DungeonGen.Tests.Integration.Bootstrap.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Tables/bin/Stress/DungeonGen.Tests.Integration.Tables.dll
  - mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Integration/Stress/bin/Stress/DungeonGen.Tests.Integration.Stress.dll
Run Code Online (Sandbox Code Playgroud)

但是,当它运行时,我得到以下异常:

$ mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
Cannot open assembly './testrunner/NUnit.Console.*/tools/nunit3-console.exe': No such file or directory.
The command "mono ./testrunner/NUnit.Console.*/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll" exited with 2.
Run Code Online (Sandbox Code Playgroud)

对于我尝试加载测试的每个DLL,都会重复此异常.根据Travis CI的文档,我应该能够在路径中使用外卡并且它可以正常工作.但是,要么导致问题,要么其他一些问题阻止Travis看到它刚刚安装的exe.有谁知道这个解决方案?我真的不想硬编码NUnit版本 - 我想尽可能使用最新版本.

更新硬编码版本没有帮助 - 设置为3.2.0,我仍然得到相同的错误:

install:
  - nuget restore DungeonGen.sln
  - nuget install NUnit.Runners -Version 3.2.0 -OutputDirectory testrunner
Run Code Online (Sandbox Code Playgroud)

产生这个:

$ mono ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll
Cannot open assembly './testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe': No such file or directory.
The command "mono ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe ./Tests/Unit/Common/bin/Stress/DungeonGen.Tests.Unit.Common.dll" exited with 2.
Run Code Online (Sandbox Code Playgroud)

cid*_*ack 5

事实证明包安装目录是错误的:而不是./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe,它应该是./testrunner/NUnit.ConsoleRunner.3.2.0/tools/nunit3-console.exe.不知道什么时候改变了,但它现在有效.