Как отлаживать с помощью xUnit?
Я изучаю xUnit и до сих пор нашел его самым полезным инструментом. Это заставляет меня пересмотреть некоторые из моих тактик кодирования для TDD.
Однако я столкнулся с интересной проблемой. Мой тестовый пример не работает. Здесь нет реальной проблемы, но как его отладить?
В частности, мой тестовый пример терпит неудачу из-за ошибки "из индекса" или чего-то подобного. Это НЕ сбой в утверждении. Теперь мне нужно каким-то образом запустить тестовый пример с активным отладчиком Visual Studio, чтобы я мог видеть состояние разных переменных.
Я не буду публиковать код, так как эта ситуация снова появится. Кто-нибудь есть идеи КАК отладить сам тест?
Почти забыл! Я использую
- Visual Studio 2010 Ultimate (лицензия Dreamspark)
- xUnit 1.9
В моем рабочем процессе используется бегун GUI xUnit для запуска тестов.
Если то, что я прошу, невозможно, может ли кто-нибудь предложить альтернативный набор тестов, который я мог бы использовать, у меня есть то, что я хочу?
Ответы
Ответ 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
- установить точку останова внутри вашего метода.
- из визуальной студии. В строке меню нажмите "Тест".
- Отладка, нажмите на выбранный тест или весь тест.
Ответ 8
См. Ответ на этот вопрос: пошаговое выполнение и отладка кода в модульных тестах.
По существу:
... перейдите к "Тест" в главном меню VS..., нажмите подменю "Отладка". ,. '.
Это также работает для меня, используя VS2017;)