Visual Studio Express 2013: вывод программы в модульных тестах (консоль, отладка и т. д.)

7 ответов


TestExplorer Visual Studio имеет отдельное окно вывода. Он не записывает вывод по умолчанию Visual Studio (я не знаю, настраивается ли он)

вам нужно выбрать тест,который вы хотите увидеть в testexplorer. Если тест имеет некоторый выход, вы должны увидеть гиперссылку "выход". При нажатии на это откроется новая вкладка, отображающая выходные данные теста.

enter image description here

все отображаемые сообщения записываются Console.WriteLine.

Im с помощью Visual Studio 2013 Professional. Я не уверен, что экспресс-версия работает по-другому.


System.Diagnostics.Debug.WriteLine("Yay!");

Если вы настроите окно вывода для отображения отладочных данных, оно отобразится там.

источник: Visual Studio 2010 Express. Запись в окно вывода (это для VS 2010, но он также должен применяться к 2013, так как это параметр framework, а не IDE).


Мне не очень нравится отвечать на мой собственный вопрос, так как это кажется "нечестным". Однако некоторое время было тихо, и я не думаю, что есть другие ответы.

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

Итак, подводя итог, решение состоит из: - Проект модульных испытаний с фактическими испытаниями - Проект библиотеки классов с логикой framework - Консольный проект для тестирования классов в библиотеке классов или неблочных классов в проекте модульного тестирования.


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

Я использую настройки log4j любое хорошее программное обеспечение можно использовать здесь.


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

в .Чистая земля, община любимый, кажется, NLog, http://nlog-project.org/ . Ссылка "начало работы"поможет вам начать.


Я не уверен в VS2013, но в VS2008, если вы дважды щелкните по сводке результатов теста (после его завершения, либо пройти, либо потерпеть неудачу), он откроет окно с "общие результаты", "сообщение об ошибке" и т. д., а затем "стандартный вывод консоли". Он в основном делает хорошую работу по захвату вывода консоли для каждого теста отдельно. Единственный недостаток заключается в том, что он не показывает вывод в режиме реального времени. Он покажет его только по завершении.


не удается запустить проект с выходным типом библиотеки классов прямо

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