Как отобразить неудачные тесты NUnit в списке ошибок Visual Studio - PullRequest
0 голосов
/ 22 апреля 2019

В Visual Studio (2017) у меня есть два проекта: один, содержащий бизнес-логику (MyProject), и другой, содержащий несколько тестов NUnit (MyProject.Tests).MyProject имеет следующее событие после сборки:

[path to nunit]\nunit-console.exe [path to MyProject.Tests]\MyProject.Tests.dll

Когда MyProject собран, тесты в MyProject.Tests выполняются.В окне «Вывод» отображаются подробные результаты выполнения тестов в проекте, и это здорово.Однако эти результаты легко теряются в потоке другой информации в окне «Вывод», особенно если в это же время создаются и другие проекты.

Если какие-либо тесты не пройдены, в сообщении об ошибке Visual Studio появляется следующее сообщениеСписок:

The command "[path to nunit]\nunit-console.exe [path to MyProject.Tests]\MyProject.Tests.dll" exited with code 3.

Это хорошо и заметно;Мне нравится, что это именно то, где я также могу найти ошибки компиляции и т. Д. Я думал, что в Списке ошибок также будет отображаться каждый сбойный модульный тест, так что я могу быстро перейти к каждому из них, но в настоящее время это не так.

Я просмотрел различные параметры командной строки для запуска тестов NUnit из консоли, но пока не нашел способа отформатировать вывод так, чтобы он распознавался списком ошибок.Возможно ли это сделать?

Примечание: Если во время одного из тестов возникла ошибка (т. Е. Тест не может быть выполнен из-за ошибки), эта ошибка появится всписок ошибок Visual Studio.Это не относится к обычным неудачным испытаниям.

1 Ответ

0 голосов
/ 24 апреля 2019

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

Я смог воспользоваться двумя преимуществами:

  1. NUnit экспортирует результаты каждого запуска тестав XML-файл (см. Указание имени файла XML-результата ) и
  2. Консольные сообщения можно отформатировать конкретным способом отображения в списке ошибок Visual Studio.

Итак, я создал простой проект консоли, который читает XML-файл, сгенерированный NUnit, а затем распечатывает каждый тестовый сбой на консоли в нужном формате.Мое событие после сборки теперь выглядит как

[path to nunit]\nunit-console.exe [path to MyProject.Tests]\MyProject.Tests.dll /work:[path to results.xml]
[path to my xml parser] [path to results.xml]
...