Тестовые отчеты

Эти функции требуют установки дополнительных пакетов NuGet, как описано в каждом разделе.

Подсказка

При использовании Microsoft.Testing.Platform.MSBuild (включается транзитивно MSTest, NUnit и xUnit runners), эти расширения регистрируются автоматически при установке пакетов NuGet — изменения кода не требуются. Регистрация вручную, указанная в этой статье, требуется только в том случае, если вы отключили автоматическую точку входа, задав параметр <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Visual Studio тестовые отчеты (TRX)

Файл результатов теста Visual Studio (или TRX) — это формат по умолчанию для публикации результатов теста. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.TrxReport .

Регистрация вручную

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();

Замечание

При использовании ручной регистрации зарегистрируйте поставщика отчетов TRX последний раз. Текущая реализация зависит от порядка регистрации, поэтому регистрация ее после всех остальных расширений гарантирует, что она записывает все тестовые данные.

Options

Опция Description
--report-trx Создает отчет TRX.
--report-trx-filename Имя созданного отчета TRX. Имя по умолчанию соответствует следующему формату <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx.

Отчет сохраняется в папке по умолчанию TestResults, которую можно указать с помощью аргумента командной строки --results-directory.

Отчеты Azure DevOps

Плагин отчётов Azure DevOps улучшает выполнение тестов для разработчиков, которые размещают свой код на GitHub, но собирают его с помощью агентов сборки Azure DevOps. Он добавляет дополнительную информацию к сбоям для отображения сбоя непосредственно в GitHub PR.

Аннотация ошибки в представлении файлов в GitHub PR

Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .

Регистрация вручную

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();

Options

Опция Description
--report-azdo Включает генератор отчетов Azure DevOps. Ошибки и предупреждения записываются в выходные данные в формате, который Azure DevOps понимает.
--report-azdo-severity Уровень серьезности для регистрируемых событий. Допустимые значения: error (по умолчанию) и warning.
--report-azdo-flaky-history Запрашивает историю результатов тестов в Azure DevOps за последние N дней (1–90) и помечает зарегистрированные сбои сведениями о нестабильности. Требует использования --report-azdo.
--report-azdo-demote-known-flaky Понижает статус сбоев, которые в окне истории Azure DevOps считаются достаточно нестабильными (пороговое значение по умолчанию — 25%), с ошибок до предупреждений. Требуется --report-azdo и --report-azdo-flaky-history.
--report-azdo-quarantine-file Путь к текстовому файлу, который содержит полные имена или шаблоны глобов в карантине. Ошибки сопоставления отображаются как предупреждения. Требует использования --report-azdo.
--report-azdo-upload-artifacts Отправляет файлы результатов теста и /или добавляет теги сборки в Azure DevOps. Допустимые значения: off (по умолчанию), tags-onlyfiles, и all.
--report-azdo-upload-artifact-include Включает файлы в отправку артефактов Azure DevOps с помощью glob-шаблонов относительно каталога результатов тестов. По умолчанию — **/*. Значение --report-azdo-upload-artifacts должно отличаться от off.
--report-azdo-upload-artifact-exclude Исключает файлы из отправки артефактов в Azure DevOps с помощью glob-шаблонов относительно каталога результатов тестов. Для --report-azdo-upload-artifacts требуется значение, отличное от off.
--report-azdo-upload-artifact-name Переопределяет имя контейнера артефактов Azure DevOps. По умолчанию — TestResults_{assemblyName}_{tfm}. Значение --report-azdo-upload-artifacts должно отличаться от off.
--publish-azdo-test-results Публикует результаты теста на вкладке Azure DevOps Tests.
--publish-azdo-run-name Задает пользовательское имя запуска тестов Azure DevOps для публикации результатов тестирования в реальном времени. Требует использования --publish-azdo-test-results.

Замечание

Расширение Azure DevOps стало стабильным в MTP 1.9.0 (--report-azdo и --report-azdo-severity). Все остальные параметры таблицы — --report-azdo-flaky-history, --report-azdo-demote-known-flaky--report-azdo-quarantine-file--report-azdo-upload-artifacts--report-azdo-upload-artifact-include--report-azdo-upload-artifact-exclude--report-azdo-upload-artifact-name--publish-azdo-test-resultsи --publish-azdo-run-name — доступны в MTP начиная с версии 2.3.0.

Расширение автоматически обнаруживает, что оно выполняется в среде непрерывной интеграции (CI), проверяя TF_BUILD переменную среды.