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 года), и что на данный момент есть пара обходных путей, которые это исправят.

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

  1. Запускайте тесты только во вложенных каталогах относительно каталога извлечения (например, вы могли бы скопировать их раньше)

  2. Добавить параметр конфигурации сборки 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

Другие вопросы по тегам