Вывод на консоль отсутствует в выпуске DevOps Azure при включении «Указать размер пакета» - PullRequest
0 голосов
/ 20 февраля 2019

В AzO DevOps запущен большой набор тестов (на основе NUnit).Недавно мы включили опцию «Rerun fail tests» в задаче тестирования Visual Studio.Сначала это не сработало из-за ошибки в VSTest при обработке пользовательских отображаемых имен тестов (которые необходимы для наших тестов).Тесты все равно будут запускаться только один раз.Однако, установив размер пакета , эта проблема исправлена, и тесты наконец-то повторяются правильно.Rerun failed tests

Это прекрасно работает, за исключением одного странного эффекта ... без видимой причины подробные журналы больше не показывают наш собственный вывод (сгенерированный Console.WriteLine),Это работало без проблем раньше.Все, что мы получаем сейчас, это вывод по умолчанию и окончательный результат теста.Current output

Журналы без включенной опции «Укажите размер партии» более информативны: Old logs

Сами журналы все еще пишутся: мы знаем, что (почти) вся информация также включена в тест.Это показано в результатах теста: Single test result

Кроме того, простое отключение параметра размера партии приводит к повторному отображению журналов.

Кто-нибудь имеет представление о том, чтовызывает такое поведение, и как это исправить?Пока что переключение между Console.Writeline / Trace.Writeline / Debug.Writeline и т. Д. Не помогло, и я не нашел много другой информации об этой конкретной проблеме ... и есть определенные ситуации, когда один полный журналфайл необходим (или более практичен), поэтому было бы неплохо, если бы нам удалось выполнить как повторные попытки, так и полное ведение журнала.

Заранее спасибо!

1 Ответ

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

Я также разместил вопрос на developercommunity.visualstudio.com.Обсуждение заняло немного времени, но в итоге был получен следующий ответ:

"Поддерживаемое поведение - наличие информации о трассировке из тестов как части файла результатов теста (trx) / Стандартные журналы консоли, а не часть журналов сборки (как вы упомянули в своем вопросе). Обратите внимание, что это также зависит от используемой тестовой среды. Планируется, что поток информации трассировки в журналы сборки изТестирование. Различное поведение, которое вы видите при включении параметра Пакетная обработка, связано с тем, что внутренний поток выполнения немного изменяется (и в конечном итоге все потоки будут сходиться к такому же параметру Пакетная обработка в ближайшие дни). Мы рекомендуем не брать зависимостьв журналах компоновки. Вместо этого вкладка «Тест» - это место, в котором вы получите лучшие журналы в контексте тестового примера / тестового прогона.тестовый прогон.После проверки это действительно так:

FullTestRunTrx

При открытии файла в Notepad ++ я, наконец, вижу журналы моего полного запуска:

FullTestRunLogs

- Все эти строки пишутся с использованием Console.WriteLine ().

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

ПРИМЕЧАНИЕ. Мы обнаружили, что во время тайм-аута тестового прогонаэтот файл не генерируется.Об этом было сообщено в Microsoft, и оно признано проблемой:

"получил смысл. Мы работаем над расширенной диагностикой в ​​задаче vstest. Например, мы прервем тест, если тест проходитбольше времени для завершения. В этом случае будет также создан дамп процесса тестирования, и, конечно, у нас также будет загружен trx. Второй сценарий, когда не перикулярный тест занимает время, но общий цикл заканчивается, мы возьмемвыгрузите тестовый процесс и прервите выполнение. Дампы помогут вам решить проблему. "

Где-то в будущем этот дамп должен быть доступен для использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...