Я использую Visual Studio 2015. Я пытаюсь распечатать некоторые операторы только для отслеживания очень долгого теста. При использовании VSTest.Console с /Logger:trx вывод отладки (независимо от того, используем ли мы Console.WriteLine(), Debug.Writeline() или Trace.WriteLine()) попадает в сгенерированный файл trx. Однако при запуске с /Logger:Console настраиваемый вывод отладки не отображается на выводе консоли: отображается только результат теста. Я даже написал собственное расширение, ссылаясь на:
Однако неясно, как отправить TestMessage изнутри теста, чтобы вызывался TestMessageHandler и печатались выходные данные.
Я думаю, что расширение может быть здесь избыточным, и я могу использовать консольный регистратор, который входит в состав расширений Visual Studio. Возможно, мне нужно сделать определенный вызов для отправки информационного сообщения или использовать соответствующий переключатель командной строки.
Сейчас я использую следующую команду:
Vstest.Console.exe <Test dll> /logger:Console
Тест выполняется, но выдает только следующие выходные данные:
Начинается выполнение теста, пожалуйста, подождите... Пройдено TestMethod1
Всего тестов: 1. Пройдено: 1. Не пройдено: 0. Пропущено: 0. Выполнение теста успешно. Время выполнения теста: 3,3929 секунды
Принимая во внимание, что файл trx имеет следующие разделы в разделе вывода, которые включают выходные данные console.writeline() и debug.trace(): (Текст, показанный ниже, приведен только для примера)
<Output>
<StdOut>
Test Started
Test Ended
Debug Trace:
Test started
Test ended
</StdOut>
</Output>
Мне интересно, можно ли также отображать ту же информацию при использовании регистратора консоли.