2016-03-23 3 views
1

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

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

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

ответ

1

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

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

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

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

VS PRoject Settings

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

Tests in Output

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

FYI, цвет в выходе сборки является побочным эффектом VSColorOutput Visual Studio extension, это не от NUnit.

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

+0

Я попробую это - спасибо –

0

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

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

+0

Благодарим за информацию о NUnitLite, но правильно ли я предполагаю, что она не запускается автоматически при компиляции? Также у меня есть несколько тестовых проектов в моем решении, по одному на фактический проект. –

+0

@Carsten Как вы относитесь к «бегу на компиляции», извините? Если вы нажмете F5, он проведет ваши тесты, да. – Chris

+0

Проблема в том, что у меня есть несколько тестовых проектов в решении. И ваше предложение будет AFAICS запустить только проект, поставленный как проект запуска. –

Смежные вопросы