3

При выполнении модульных тестов локально в Visual Studio 2015 я могу щелкнуть по гиперссылке вывода в результатах теста и получить доступ ко всему выходу Debug Trace (в качестве стандартного вывода) на страницу тестового выхода.Как получить отладочный вывод из модульных тестов в TFS 2015

enter image description here

Sample Test Output

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

enter image description here

Даже если скачать .trx файл, он не включает в себя выходной секции консоли.

enter image description here

Есть ли способ, чтобы получить этот вывод из теста, выполняемого агентом?

Кроме того, некоторые из моих тестов содержат дополнительную информацию в папке TestResults. Содержимое этой папки также исключается из хранимой тестовой информации. Есть ли способ получить это?

Единственное, что я могу думать о том, чтобы мои тесты записывали всю их отладочную информацию в файлы, затем копируйте их в другую папку в качестве шага сборки. Кажется, это глупое. Если я правильно помню, «старый» процесс сборки TFS автоматически сохранил бы всю эту информацию, и он был доступен, глядя на тестовые прогоны в Visual Studio.

+0

вы создали переменную в определении сборки под названием system.debug и установить его на истинный ? – Sachi

+0

Была ли информация «Отладка трассировки» автоматически сгенерирована VS2015 или вы пишете эту информацию в разделе «Консоль вывода»? –

+0

По-видимому, для параметра system.debug установлено значение false. Я изменил его и снова запустил сборку, чтобы узнать, получаю ли я желаемые результаты (требуется некоторое время для запуска) –

ответ

2

Использование System.Diagnostics.Trace.WriteLine() вместо System.Diagnostics.Debug.WriteLine(), вы получите информацию при выполнении теста с TFS: enter image description here

enter image description here

+0

Ах, вы ударили его! После прочтения вашего ответа я вернулся и посмотрел на сборку, которая выводит Debug вместо Release и консольный вывод появляется для них. Это напомнило мне, что методы Debug.Xxx являются NOP'd в сборках выпусков. Переключение на Trace сделало трюк. –