2016-03-31 13 views
3

Ich habe Remote-Builds mit Travis CI eingerichtet. Hier ist meine Konfigurationsdatei:Travis CI kann den NUnit 3 Console Runner nicht starten

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 

Wenn dies jedoch ausgeführt wird, ich die folgende Ausnahme erhalten:

$ 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. 

Diese Ausnahme für jede DLL wiederholt Ich versuche, für Tests zu laden. Laut the documentation for Travis CI sollte ich in der Lage sein, die Wildcards dort im Pfad zu verwenden und es funktioniert gut. Jedoch verursacht dies entweder ein Problem oder ein anderes Problem verhindert, dass Travis die gerade installierte Exe sieht. Kennt jemand eine Lösung dafür? Ich möchte nicht wirklich eine Version von NUnit programmieren - ich möchte die aktuellste Version verwenden.

UPDATE Fest-Codierung der Version nicht helfen - auf 3.2.0 gesetzt, habe ich noch die gleiche Fehlermeldung erhalten: Diese

install: 
    - nuget restore DungeonGen.sln 
    - nuget install NUnit.Runners -Version 3.2.0 -OutputDirectory testrunner 

Produziert:

$ 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. 

Antwort

5

Es stellte sich heraus, dass die Paket Installationsverzeichnis war falsch: anstelle von ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe sollte es ./testrunner/NUnit.ConsoleRunner.3.2.0/tools/nunit3-console.exe gewesen sein. Nicht sicher, wann sich das geändert hat, aber es funktioniert jetzt.