Подтвердить что ты не робот

NUnit 3.2.1 + TeamCity: не удалось загрузить файл или сборку 'nunit.framework'

Недавно я обновился до TeamCity 9.1.6 для запуска моих новых модульных тестов на основе NUnit 3.2.1. Но теперь у меня возникают проблемы с запуском тестов:

Я выбрал исполнителя NUnit3 в шагах сборки, настроил его соответственно:

Конфигурация шага сборки

При создании я получаю сообщение об ошибке: "Не удалось загрузить файл или сборку" nunit.framework "или одну из его зависимостей. Система не может найти указанный файл." .

Журнал сборки

Все должно быть хорошо, пути прекрасны, сборка находится на пути тестовой сборки, все построено в конфигурации AnyCPU. Там также ошибка, указывающая на то, что версия NUnit не является версией, которая, я думаю, дерьмо, это релиз на веб-сайте NUnit. И ошибка, кажется, не сломала ничего (она присутствовала даже тогда, когда у меня была ошибка перед ошибкой "nunit.framework", и когда я исправил ее, сборка получила дальнейшее развитие).

Любые подсказки оцениваются!

UPDATE: Выполнение тестов с использованием лидера командной строки и запуск этого же nunit3-console.exe отлично работает. Поэтому я предполагаю, что это проблема с бегуном NUnit. Тем не менее, приветствуются предложения о том, как исправить это.

ОБНОВЛЕНИЕ 2: Я попытался понизить как пакет решений, так и NUnit-Console, используемые TeamCity до 3.0.0, - все же, тот же результат.

ОБНОВЛЕНИЕ 3: Как я уже подозревал, поддержка TeamCity подтвердила, что сообщение о том, что версия NUnit не поддерживается, является ошибочной и ничего не должна влиять.

4b9b3361

Ответ 1

После продолжительной дискуссии по электронной почте с технической поддержкой TeamCity мы пришли к решению. Мне сообщили, что они исправили эту проблему в предстоящем выпуске TC10 (приходя где-то в конце июня 2016 года), и что на данный момент есть несколько обходных решений, которые исправят это.

Я пробовал номер два, и это сработало для меня.

  • Запускать тесты только во вложенных каталогах относительно каталога выписки (например, вы могли бы скопировать их раньше)

  • Добавьте параметр конфигурации сборки nunit_use_project_file в False:

    Изменить всплывающее окно параметров

    То есть я пошел в свое тестовое здание и выполнил проекты, перешел в раздел "Параметры" и добавил новый параметр "nunit_use_project_file" как False. Тесты теперь выполняются под управлением NUnit3.

Ответ 2

У меня была такая же проблема с TeamCity 10.0.1 (сборка 42078) и NUnit 3.4.1. И это оказалось моей полной ошибкой. Я размещаю его здесь, так как кто-то другой может споткнуться в одну и ту же проблему, и это может сэкономить некоторое время.

Оказалось, что проблема была в настройке "Run tests from: " в моей конфигурации сборки.

введите описание изображения здесь

У меня было **\*.Test.dll. Это случайно собирало DLL для каталогов \obj\**\ (там, где отсутствует nunit.framework.dll). Как только я изменил настройку на **\bin\%BuildConfiguration%\*.test.dll, все работает нормально.

Примечание:% BuildConfiguration% - это параметр, который указывает предпочтительную конфигурацию сборки на TC (например, Debug/Release/CIBuild и т.д.).

Ответ 3

Если у вас еще нет Nunit3 и Nunit.Console(Runner) в вашем пакете .config, вы должны "установить" его в свой проект с помощью диспетчера пакетов.

Затем следуйте указаниям в этом другом ответе о создании "автоматического обнаружения" для Nunit.ConsoleRunner. fooobar.com/info/418130/...