VSTest.Console при запуске с /Logger: Консоль не печатает отладочный вывод из метода тестирования
Я использую 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 имеет следующие разделы в разделе output, который включает в себя выходные данные console.writeline() и debug.trace():(текст, показанный ниже, только для примера)
<Output>
<StdOut>
Test Started
Test Ended
Debug Trace:
Test started
Test ended
</StdOut>
</Output>
Мне интересно, возможно ли также показать ту же информацию при использовании консольного логгера.
1 ответ
Поведение теперь изменилось в VS 2017 15.5.2+, теперь оно выдает выходные данные.