Travis CI не может запустить средство запуска консоли NUnit 3

У меня есть удаленные сборки, настроенные с помощью 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

Однако, когда это выполняется, я получаю следующее исключение:

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

Это исключение повторяется для каждой библиотеки DLL, которую я пытаюсь загрузить для тестов. Согласно документации Travis CI, я должен иметь возможность использовать карты там в пути и все работает нормально. Однако либо это вызывает проблему, либо какая-то другая проблема не позволяет Трэвису видеть только что установленный исполняемый файл. Кто-нибудь знает решение этого? Я действительно не хочу жестко кодировать версию NUnit — я хочу использовать самую последнюю возможную версию.

ОБНОВЛЕНИЕ Жесткое кодирование версии не помогло - поставил 3.2.0, все равно получаю ту же ошибку:

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

Производит это:

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

person cidthecoatrack    schedule 31.03.2016    source источник


Ответы (1)


Оказывается, каталог установки пакета был неверным: вместо ./testrunner/NUnit.Console.3.2.0/tools/nunit3-console.exe должен был быть ./testrunner/NUnit.ConsoleRunner.3.2.0/tools/nunit3-console.exe. Не знаю, когда это изменилось, но сейчас это работает.

person cidthecoatrack    schedule 31.03.2016