Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эти функции требуют установки дополнительных пакетов NuGet, как описано в каждом разделе.
Подсказка
При использовании Microsoft.Testing.Platform.MSBuild (включается транзитивно MSTest, NUnit и xUnit runners), эти расширения регистрируются автоматически при установке пакетов NuGet — изменения кода не требуются. Регистрация вручную, указанная в этой статье, требуется только в том случае, если вы отключили автоматическую точку входа, задав параметр <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Имена файлов отчета
Каждое расширение отчёта записывает свой файл в каталог результатов тестов, который можно задать с помощью параметра --results-directory. Чтобы переопределить имя, используйте соответствующий --report-*-filename параметр. Каждый раздел отчета содержит имя по умолчанию для этого отчета.
Имя файла может содержать относительный путь, который остается в каталоге результатов теста, и он может использовать следующие элементы замены (заполнители):
| Placeholder | Description |
|---|---|
{asm} |
Имя сборки записи или unknown если она недоступна. |
{tfm} |
Идентификатор целевой платформы, определяемый во время выполнения, например net9.0. |
{arch} |
Архитектура процесса, например x64, x86или arm64. |
{pname} |
имя процесса; |
{pid} |
Идентификатор процесса. |
{time} |
Метка времени высокой точности. |
Например, --report-trx-filename "{asm}_{tfm}_{arch}.trx" воспроизводит имя TRX по умолчанию.
Замечание
Имена заполнителей чувствительны к регистру и записываются строчными буквами. Поддержка заполнителей для имен файлов отчета доступна в MTP начиная с версии 2.3.0.
Visual Studio тестовые отчеты (TRX)
Файл результатов теста Visual Studio (или TRX) — это формат по умолчанию для публикации результатов теста. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.TrxReport .
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();
Замечание
При использовании ручной регистрации зарегистрируйте поставщика отчетов TRX последний раз. Текущая реализация зависит от порядка регистрации, поэтому регистрация ее после всех остальных расширений гарантирует, что она записывает все тестовые данные.
Замечание
Доступно в MTP начиная с версии 1.9.0, отчет TRX включает поле тестирования Description .
Замечание
Начиная с версии 2.3.0 в MTP результаты TRX записываются на диск по мере выполнения. Если тестовый узел завершает работу, TRX-файл сохраняет собранные результаты до сбоя.
Options
| Опция | Description |
|---|---|
--report-trx |
Создает отчет TRX. |
--report-trx-filename |
Имя созданного отчета TRX. Начиная с MTP 2.3.0, по умолчанию используется детерминированная {asm}_{tfm}_{arch}.trx форма; до MTP 2.3.0 значение по умолчанию.<UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx Сведения о настройке имени см. в разделе "Имена файлов отчета". |
Отчет сохраняется в папке по умолчанию TestResults, которую можно указать с помощью аргумента командной строки --results-directory.
HTML-отчеты
HTML-отчет создает интерактивный самодостаточный HTML-файл для сеанса тестирования. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.HtmlReport.
Замечание
Доступно в MTP начиная с версии 2.3.0. Это расширение является экспериментальным, а его параметры и формат выходных данных могут измениться в будущей версии.
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();
Options
| Опция | Description |
|---|---|
--report-html |
Создает HTML-отчет. |
--report-html-filename |
Имя созданного HTML-отчета. Значение должно оканчиваться на .html. Значение по умолчанию — {asm}_{tfm}_{arch}.html. Сведения о настройке имени см. в разделе "Имена файлов отчета". Требует использования --report-html. |
Отчеты JUnit
Отчет JUnit создает XML-файл, совместимый с JUnit, для тестового сеанса. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.JUnitReport.
Замечание
Доступно в MTP начиная с версии 2.3.0. Это расширение является экспериментальным, а его параметры и формат выходных данных могут измениться в будущей версии.
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();
Options
| Опция | Description |
|---|---|
--report-junit |
Создает XML-отчет JUnit. |
--report-junit-filename |
Имя созданного XML-отчета JUnit. Значение должно оканчиваться на .xml. Значение по умолчанию — {asm}_{tfm}_{arch}.xml. Сведения о настройке имени см. в разделе "Имена файлов отчета". Требует использования --report-junit. |
Отчеты CTRF
Отчет CTRF создает JSON-файл в формате Common Test Report Format для сеанса тестирования. Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.CtrfReport.
Замечание
Доступно в MTP начиная с версии 2.3.0. Это расширение является экспериментальным, а его параметры и формат выходных данных могут измениться в будущей версии.
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();
Options
| Опция | Description |
|---|---|
--report-ctrf |
Создает отчет CTRF в формате JSON. |
--report-ctrf-filename |
Имя созданного отчета CTRF JSON. Значение должно оканчиваться на .json. Значение по умолчанию — <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Сведения о настройке имени см. в разделе "Имена файлов отчета". Требует использования --report-ctrf. |
Отчеты Azure DevOps
Плагин отчётов Azure DevOps улучшает выполнение тестов для разработчиков, которые размещают свой код на GitHub, но собирают его с помощью агентов сборки Azure DevOps. Он добавляет дополнительную информацию к сбоям для отображения сбоя непосредственно в GitHub PR.
Для этого расширения требуется пакет NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();
Options
| Опция | Версия MTP | Description |
|---|---|---|
--report-azdo |
1.9.0 | Включает генератор отчетов Azure DevOps. Ошибки и предупреждения записываются в выходные данные в формате, который Azure DevOps понимает. |
--report-azdo-severity |
1.9.0 | Уровень серьезности для регистрируемых событий. Допустимые значения: error (по умолчанию) и warning. |
--report-azdo-flaky-history |
2.3.0 | Запрашивает историю результатов тестов в Azure DevOps за последние N дней (1–90) и помечает зарегистрированные сбои сведениями о нестабильности. Требует использования --report-azdo. |
--report-azdo-demote-known-flaky |
2.3.0 | Понижает статус сбоев, которые в окне истории Azure DevOps считаются достаточно нестабильными (пороговое значение по умолчанию — 25%), с ошибок до предупреждений. Требуется --report-azdo и --report-azdo-flaky-history. |
--report-azdo-quarantine-file |
2.3.0 | Путь к текстовому файлу, который содержит полные имена или шаблоны глобов в карантине. Ошибки сопоставления отображаются как предупреждения. Требует использования --report-azdo. |
--report-azdo-summary |
2.3.0 | Записывает сводку задания Markdown в конце тестового запуска и отправляет его через ##vso[task.uploadsummary]. Необязательный аргумент пути к файлу переопределяет расположение по умолчанию ({testResultsDir}/azdo-summary-{tfm}.md). Требует использования --report-azdo. |
--report-azdo-stackframe-filter |
2.3.0 | Добавляет шаблоны регулярных выражений, которые сопоставляются с полным префиксом имени типа каждого кадра стека и игнорируются, когда расширение определяет место вызова пользователя для аннотирования. Этот параметр можно повторять, до 16 шаблонов, и каждый шаблон компилируется с временем ожидания совпадения 500 мс. Эти шаблоны дополняют встроенные в расширение префиксы реализации утверждений MSTest. Требует использования --report-azdo. |
--report-azdo-upload-artifacts |
2.3.0 | Отправляет файлы результатов теста и /или добавляет теги сборки в Azure DevOps. Допустимые значения: off (по умолчанию), tags-onlyfiles, и all. |
--report-azdo-upload-artifact-include |
2.3.0 | Включает файлы в отправку артефактов Azure DevOps с помощью glob-шаблонов относительно каталога результатов тестов. По умолчанию — **/*. Значение --report-azdo-upload-artifacts должно отличаться от off. |
--report-azdo-upload-artifact-exclude |
2.3.0 | Исключает файлы из отправки артефактов в Azure DevOps с помощью glob-шаблонов относительно каталога результатов тестов. Значение --report-azdo-upload-artifacts должно отличаться от off. |
--report-azdo-upload-artifact-name |
2.3.0 | Переопределяет имя контейнера артефактов Azure DevOps. По умолчанию — TestResults_{assemblyName}_{tfm}. Значение --report-azdo-upload-artifacts должно отличаться от off. |
--publish-azdo-test-results |
2.3.0 | Публикует результаты теста на вкладке Azure DevOps Tests. |
--publish-azdo-run-name |
2.3.0 | Задает пользовательское имя запуска тестов Azure DevOps для публикации результатов тестирования в реальном времени. Требует использования --publish-azdo-test-results. |
Замечание
В столбце версии MTP указывается выпуск MTP, в котором каждая опция впервые стала доступна в стабильной сборке. Само расширение Azure DevOps стало стабильным в MTP 1.9.0 с --report-azdo и --report-azdo-severity; остальные варианты были добавлены в MTP 2.3.0.
Расширение автоматически обнаруживает, что оно выполняется в среде непрерывной интеграции (CI), проверяя TF_BUILD переменную среды.
Отчеты GitHub Actions
Отчет GitHub Actions генерирует собственные команды workflow GitHub Actions, благодаря чему тестовые прогоны дают полноценное представление результатов в среде выполнения: отдельные группы журналов для каждой сборки, аннотации о неудачных и пропущенных тестах (они отображаются на вкладке Annotations workflow, а если удается определить расположение в исходном коде — и в диффе Files changed запроса на включение изменений), сводка задания в формате Markdown, добавляемая в файл, на который указывает GITHUB_STEP_SUMMARY, и уведомления о медленных тестах.
Расширение активируется только в том случае, если запуск выполняется в GitHub Actions (переменная среды GITHUB_ACTIONS имеет значение true) и включён переключатель --report-gh; в противном случае расширение ничего не делает. Когда параметр активен, каждая функция включена по умолчанию, и её можно отключить отдельно с помощью параметра --report-gh-*.
Замечание
Доступно в MTP начиная с версии 2.3.0. Это расширение является экспериментальным, а его параметры и формат выходных данных могут измениться в будущей версии.
Регистрация вручную
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();
Options
| Опция | Версия MTP | Description |
|---|---|---|
--report-gh |
2.3.0 | Включает генератор отчётов GitHub Actions, при котором тестовые запуски выдают команды workflow. Требуется, чтобы выполнение выполнялось в GitHub Actions. |
--report-gh-groups |
2.3.0 | Включает или отключает группы журналов для каждой сборки. Допустимые значения: on (по умолчанию) и off. Требует использования --report-gh. |
--report-gh-annotations |
2.3.0 | Включает или отключает аннотации для неудачных и пропущенных тестов. Допустимые значения: on (по умолчанию) и off. Требует использования --report-gh. |
--report-gh-step-summary |
2.3.0 | Включает или отключает запись сводки задания в формате Markdown в файл, указанный в GITHUB_STEP_SUMMARY. Допустимые значения: on (по умолчанию) и off. Требует использования --report-gh. |
--report-gh-slow-test-notices |
2.3.0 | Включает или отключает уведомления о медленном тестировании. Допустимые значения: on (по умолчанию) и off. Требует использования --report-gh. |
--report-gh-slow-test-threshold |
2.3.0 | Время, в течение которого может выполняться тест, прежде чем будет выдано уведомление о медленном выполнении теста. Принимает голое количество секунд или значение с суффиксом единицы, например 90s, 2mили 1.5h. Значение по умолчанию — 60s. Требует использования --report-gh. |