Тесты Nunit проекта .NET терпят неудачу во время моносборки

Я довольно новичок в CI (по крайней мере, с новой точки настройки). Я создал проект в Rider, используя версию NUnit по умолчанию, которая предоставляется, если вы выберете «Создать новый проект NUnit», и теперь я пытаюсь настроить для него автоматическую сборку с помощью travis-CI.

Целевая версия .NET Framework моего проекта и тестовых проектов (подтвержденная в свойствах проекта в Rider) — 4.5.

Версия Nunit, которую я использую, — это версия по умолчанию, поставляемая с Rider, 3.5.

Вот мой файл сборки .travis.yml:

language: csharp
solution: .sln
install:
  - nuget restore FindWordsWithConcatenations.sln
  - nuget install NUnit.Runners -Version 3.5.0 -OutputDirectory testrunner
script:
  - xbuild  /p:Configuration=Debug ./FindWordsWithConcatenations.sln
  - mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit-agent.exe ./TestFindWordsWithConcatenations/bin/Debug/TestFindWordsWithConcatenations.dll

Я подтвердил на своем собственном компьютере, запустив команду nuget, что путь запуска теста должен быть правильным, когда я запускаю nunit-agent (через агент, агент-x86 или агент-консоль), я получаю следующую ошибку (локально и на сервер):

Unhandled Exception: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
   at System.Guid..ctor(String g)
   at NUnit.Agent.NUnitTestAgent.Main(String[] args)

Я также пробовал работать без указания режима конфигурации и с указанным режимом конфигурации Debug и Release.

К сожалению, обычная тактика гугления/переполнения стека не помогла, я видел эту ошибку в нескольких вопросах, но причина никогда не кажется связанной с тем, что я испытываю.

Последняя сборка конвейера доступна для просмотра здесь, поэтому все сборки far не удалось, предыдущие сборки можно увидеть здесь.

Заранее спасибо, я был бы очень признателен, если бы у кого-то было какое-либо представление о причине этой проблемы или о том, как я могу по-другому справиться с запуском теста.


person dahui    schedule 06.10.2017    source источник


Ответы (1)


Решил это.

Обновлен раздел script в конфигурации travis:

script:
  - xbuild  /p:Configuration=Debug ./FindWordsWithConcatenations.sln
  - mono ./testrunner/NUnit.ConsoleRunner.3.5.0/tools/nunit3-console.exe ./TestFindWordsWithConcatenations/bin/Debug/TestFindWordsWithConcatenations.dll

Итак, теперь работает правильное консольное приложение. Также пришлось немного изменить тестовые пути для запуска на сервере.

person dahui    schedule 06.10.2017