Могу ли я заставить графический интерфейс NUnit взломать отладчик Visual Studio в точке останова / не пройден тест? - PullRequest
5 голосов
/ 23 июля 2010

При использовании графического интерфейса NUnit для запуска модульных тестов есть ли способ:

  • Установить точки останова внутри тестов,
  • или перейти в Visual Studio Just-in-Время отладчика при провале теста?

Ответы [ 5 ]

6 голосов
/ 03 октября 2010

Не беспокойтесь о подключении к процессу. Это очень быстро стареет. Вместо этого перейдите в свойства вашего проекта модульного теста и на вкладке «Отладка» установите «Запустить внешнюю программу:», чтобы указать на nunit.exe, и добавьте имя выходной dll в текстовое поле «Аргументы командной строки» (например, UnitTests). .dll)

5 голосов
/ 23 июля 2010

Ваше первое требование очень просто.Подключите отладчик VS к графическому интерфейсу NUnit ( Инструменты-> Присоединить к процессу ) и установите соответствующие точки останова.Когда тесты запускаются с подключенным отладчиком, точки останова будут достигнуты.

Второе требование также простое, но я не проверил его работу (то есть знаю, что оно сломается, но я неНасколько далеко от кода пользователя он сломается).При неудачном модульном тестировании платформа NUnit вызывает NUnit.Framework.AssertionException.Установите отладчик на разрыв, когда выдается это исключение, и вам не нужно устанавливать точки останова в вашем коде.Для этого перейдите на страницу Отладка-> Исключения ... , затем выберите Добавить ... .Выберите Общее языковое исключение времени выполнения и введите полное имя типа (включая пространство имен) исключения NUnit.Наконец, на исходном экране исключений выберите новое исключение и нажмите Брошенный .

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

3 голосов
/ 23 июля 2010

Присоедините отладчик Visual Studio к процессу NUnit, а затем запустите свои тесты в графическом интерфейсе NUnit.

1 голос
/ 23 июля 2010

Если вы присоедините отладчик Visual Studio к процессу nunit и выполните свой тест в nunit, то будут использоваться точки останова в Visual Studio.

Я не знаю, как это можно сделать при сбоетеста.

0 голосов
/ 26 июня 2015

Помимо присоединения к процессу NUnit во время выполнения тестов, вы можете временно добавить

Debugger.Launch()

либо в SetUpFixture или TestFixtureSetUp, либо даже в попытке перехвата, когда обнаруживается ожидаемое исключение.

...