NUnit 3.2.1 + TeamCity: не удалось загрузить файл или сборку 'nunit.framework'
Я недавно обновился до TeamCity 9.1.6, чтобы запускать мои новые модульные тесты на основе NUnit 3.2.1. Но сейчас у меня проблемы с запуском тестов:
Я выбрал NUnit3 executor на этапах сборки, настроил его соответствующим образом:
При сборке я получаю сообщение об ошибке: "Не удалось загрузить файл или сборку" nunit.framework "или одну из ее зависимостей. Система не может найти указанный файл".,
Все должно быть хорошо, пути в порядке, сборка находится в пути сборки Test, все встроено в конфигурацию AnyCPU. Также есть ошибка, утверждающая, что версия NUnit не является версией релиза, что я считаю ерундой, это релиз на веб-сайте NUnit. И ошибка, похоже, ничего не нарушает (она присутствовала даже тогда, когда у меня была ошибка до ошибки nunit.framework, и когда я ее исправил, сборка пошла дальше).
Любые лиды приветствуются!
ОБНОВЛЕНИЕ: запуск тестов с использованием командной строки и тот же nunit3-console.exe работает нормально. Так что я думаю, что это специфическая проблема для бегуна NUnit. Тем не менее, приветствуются предложения о том, как это исправить.
ОБНОВЛЕНИЕ 2: Я попытался понизить как пакет решения, так и консоль NUnit, используемую TeamCity, до 3.0.0, но результат тот же.
ОБНОВЛЕНИЕ 3: Как я и подозревал, поддержка TeamCity подтвердила, что сообщение о том, что "NUnit не поддерживается", является ошибочным и ни на что не должно влиять.
3 ответа
После продолжительного обсуждения по электронной почте с технической поддержкой TeamCity мы пришли к решению. Я был уведомлен, что они исправили эту проблему в следующем выпуске TC10 (который выйдет где-то в конце июня 2016 года), и что на данный момент есть пара обходных путей, которые это исправят.
Я попробовал номер два, и это сработало для меня.
Запускайте тесты только во вложенных каталогах относительно каталога извлечения (например, вы могли бы скопировать их раньше)
Добавить параметр конфигурации сборки
nunit_use_project_file
вFalse
:То есть я пошел в свой тестовый дом и выполнял проекты, зашел в раздел "Параметры" и добавил новый параметр "nunit_use_project_file" как False. Теперь тесты выполняются в шаге сборки NUnit3.
У меня была такая же проблема с 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 и т. Д.).
Если у вас еще нет Nunit3 и Nunit.Console(Runner) в вашем package.config, вы должны "установить" его в свой проект с помощью диспетчера пакетов.
Затем следуйте инструкциям в этом другом ответе о создании шага "автоопределение" для Nunit.ConsoleRunner. /questions/3344823/kak-ustanovit-nunit-3-nunit3-consoleexe-v-teamcity-9x/3344854#3344854