Тестовая задача TFS Visual Studio не заполняет файл TRX - PullRequest
0 голосов
/ 03 июля 2018

Мы использовали TFS для запуска автоматических тестов. Тесты выполняются либо как часть сборки, либо по требованию из плана тестирования. Мы используем Specflow для генерации тестовых сценариев.

В течение первого месяца, когда я выполнял эти тесты, генерировался файл .TRX, который содержал некоторые журналы из specflow. Я мог также регистрировать свои собственные журналы трассировки, используя System.Diagnostics.Trace.WriteLine. Все это будет отображаться в файле .Trx.

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

Однако в последнее время это прекратилось. Файл .TRX все еще создается, но в основном он пуст. Это говорит о том, что никаких тестов не было, и все мои журналы трассировки не отображаются. TFS по-прежнему отображает правильную информацию, когда я вхожу в консоль, но вложенный файл .TRX всегда имеет размер 2 КБ, то есть это просто скелет файла XML.

Вот некоторые подробности того, как мы запускаем тесты:

  • У нас есть план тестирования, поэтому тесты выполняются как часть выпуска. Релиз содержит одну тестовую задачу «Запустить Visual Studio». Test task configuration
  • Файл .runSettings содержит только разделы TestRunParameters . Другие настройки не настроены.
  • Мы используем TFS 2017 версии 2.

Я подумал, что, возможно, Specflow как-то связан с этим, но даже простой MSTest без Specflow не будет правильно протоколировать.

В некоторых ответах предлагается добавить / Logger: trx к другим параметрам консоли, но это всегда оставляет меня с предупреждением о том, что Release работает на нескольких агентах, так что настройки будут игнорироваться. Наш релиз не работает на нескольких агентах, поэтому я не знаю, почему вижу это предупреждение.

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

Дайте мне знать, какая дополнительная информация вам нужна. Спасибо

1 Ответ

0 голосов
/ 06 июля 2018

Я выяснил, как решить проблему, но я не понимаю, что именно произошло, поэтому я надеюсь, что кто-то может заполнить пробелы.

На сервере TFS имеется несколько версий VSTest.Console.Exe. Тот, который используется, когда я выбираю Visual Studio 2017 в качестве версии

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe

Я не знаю, правильно это или нет, но это то, что использовалось. Я заметил, что локально я использовал другой путь.

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe

Мне удалось выполнить эту версию vstest и сгенерировать TRX-файлы локально. Также есть ДРУГОЙ vstest.console.exe, расположенный в

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ Extensions \ TestPlatform \ vstest.console.exe

Я полагаю, что последний предназначен для VSTest V2? Я не совсем уверен, и хотел бы, чтобы кто-то разъяснил это.

Я полагаю, какой исполняемый файл зависит от настройки Test Platform Version . У меня обычно было установлено значение «Последний», но я изменил его на Visual Studio 2017, пытаясь выяснить, почему он больше не будет регистрироваться.

TLDR - Решение

Вы можете поочередно выбрать Определенное местоположение , что позволяет указать путь к исполняемому файлу. Я установил для Путь к vstest.console.exe значение C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow \ vstest.console.exe и все отлично работает.

Единственное, о чем я могу подумать, это то, что версия Vstest для Professional (версия Visual Studio, которую мы используем) отличается от версии для BuildTools? Тест будет успешно выполнен в любом случае, но исполняемый файл под Professional также генерирует файл Trx. Поскольку никакие подробности не регистрируются, трудно сказать, что происходит.

Надеюсь, кто-то может объяснить, что здесь происходит, но, по крайней мере, у любого, у кого есть такая же проблема, есть что попробовать.

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