NUnit 3.2: тесты автозапуска после компиляции (Windows)

В новом решении VS я начал использовать NUnit 3.2. Более старые версии (2.6) имели внешний графический интерфейс NUnit, что позволяло наблюдать за сборками и автоматически запускать тесты на модификации. Но ничего подобного для 3.2 не могу найти - ни в документации, ни через гугл.

Я установил NUnit.3.2.0.msi, я также установил тестовый адаптер NUnit3 в пакете nuget VS + NUnit3.2 для своего проекта.

Я легко могу запускать все свои тесты через обозреватель тестов VS. Но я упускаю какой-то способ запустить их автоматически. Кто-нибудь знает как?


person Carsten Gehling    schedule 23.03.2016    source источник


Ответы (2)


В более старых версиях Visual Studio раньше была возможность запускать тесты после каждой сборки, но она была удалена. Он всегда был с ошибками и имел тенденцию блокировать файлы и не позволять вам перестраивать.

Вы можете настроить команду пост-сборки в своем тестовом проекте для автоматического запуска консоли NUnit всякий раз, когда ваш тестовый проект перекомпилируется. У вас установлена ​​консоль NUnit, поэтому вы можете указать на нее или использовать пакет NUnit.Runners, чтобы установить ее в папку пакетов вашего решения.

Откройте настройки тестового проекта и перейдите на вкладку События сборки. Нажмите Редактировать пост-сборку. Введите следующее;

"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "$(TargetPath)"

Настройки VS PRoject

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

Тесты на выходе

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

К вашему сведению, цвет в выводе сборки является побочным эффектом VSColorOutput Расширение Visual Studio, оно не от NUnit.

Visual Studio захватывает STDOUT, поэтому мне не удалось заставить его открыть окно CMD и запустить тесты. Если кто знает, как это сделать, оставьте комментарий, и я обновлю.

person Rob Prouse    schedule 23.03.2016

На GitHub разрабатывается графический интерфейс для NUnit 3, но он пока не рекомендуется для использования в производственной среде.

Мы настроили наши тесты с помощью NUnitLite runner. Это позволяет вам превратить вашу тестовую сборку в исполняемый файл - и при запуске запустит консоль и выполнит все тесты. [Документация]

person Chris    schedule 23.03.2016
comment
Спасибо за информацию о NUnitLite, но правильно ли я предполагаю, что он не запускается автоматически при компиляции? Также у меня есть несколько тестовых проектов в моем решении, по одному на каждый конкретный проект. - person Carsten Gehling; 23.03.2016
comment
@Carsten Как вы имеете в виду запускать при компиляции, извините? Если вы нажмете F5, он запустит ваши тесты, да. - person Chris; 23.03.2016
comment
Проблема в том, что у меня в решении несколько тестовых проектов. И ваше предложение будет AFAICS запускать только проект, установленный как Startup project. - person Carsten Gehling; 23.03.2016
comment
Да это правда. Предложение Роба звучит неплохо! - person Chris; 23.03.2016