Подтвердить что ты не робот

Как отлаживать с помощью xUnit?

Я изучаю xUnit и до сих пор нашел его самым полезным инструментом. Это заставляет меня пересмотреть некоторые из моих тактик кодирования для TDD.

Однако я столкнулся с интересной проблемой. Мой тестовый пример не работает. Здесь нет реальной проблемы, но как его отладить?

В частности, мой тестовый пример терпит неудачу из-за ошибки "из индекса" или чего-то подобного. Это НЕ сбой в утверждении. Теперь мне нужно каким-то образом запустить тестовый пример с активным отладчиком Visual Studio, чтобы я мог видеть состояние разных переменных.

Я не буду публиковать код, так как эта ситуация снова появится. Кто-нибудь есть идеи КАК отладить сам тест?

Почти забыл! Я использую

  • Visual Studio 2010 Ultimate (лицензия Dreamspark)
  • xUnit 1.9

В моем рабочем процессе используется бегун GUI xUnit для запуска тестов.

Если то, что я прошу, невозможно, может ли кто-нибудь предложить альтернативный набор тестов, который я мог бы использовать, у меня есть то, что я хочу?

4b9b3361

Ответ 1

Я не тестировал это, но вы должны иметь возможность подключить визуальную студию к графическому интерфейсу xUnit и отлаживать оттуда.

В меню Debug выберите "attach to process", найдите имя исполняемого файла в списке и нажмите "Прикрепить". Установите точки останова в unit test по мере необходимости и выполните тест из графического интерфейса. Точка останова должна быть удалена, как ожидалось.

Ответ 2

В VS2015 и более поздних версиях установите пакет NuGet для xunit.runner.visualstudio. Тогда отладку так же просто, как щелкнуть правой кнопкой мыши по тесту в окне тестового проводника. (Test--> Windows → TestExplorer, если вы его не видите).

enter image description here

Ответ 3

Мне не удалось выполнить все вышеперечисленное, но для меня это работало: Перед строками, в которых вы хотите отлаживать, добавьте следующую строку (затем запустите тест):

        System.Diagnostics.Debugger.Launch();

Недостатком является то, что он запустит еще один экземпляр VS:).

Ура!

Ответ 4

Следующее будет работать в VS.NET и в SharpDevelop.

Откройте свойства тестового проекта и перейдите на вкладку Отладка:

  • В разделе "Действие запуска" установите "Запустить внешнюю программу" в xUnit runner исполняемый файл выбора.

  • В разделе "Параметры запуска" установите "Аргументы командной строки" на имя ваш проект отлаживает DLL.

  • Также установите "Рабочий каталог" в проект "bin\Debug \".

Затем выберите Debug > Run или нажмите F5, чтобы запустить тест в режиме отладки. Точки останова будут удалены.

Преимущество этой отладки заключается в том, что вам не нужно каждый раз присоединяться к графическому интерфейсу xUnit, вам просто нужно запустить тестовый проект.

Ответ 5

В visual studio 2017 убедитесь, что конфигурация решения находится в режиме "Отладка". В режиме "Release" он не отлаживается.

Ответ 6

Если у вас есть resharper, с установленным расширением X-unit contrib (серьезно рекомендуется!), щелкните правой кнопкой мыши класс в visual studio и нажмите "тесты отладки модуля".

Simple!

Ответ 7

  1. установить точку останова внутри вашего метода.
  2. из визуальной студии. В строке меню нажмите "Тест".
  3. Отладка, нажмите на выбранный тест или весь тест.