Функции Microsoft.Testing.Platform (MTP)

MTP поставляется со встроенными функциями и может быть расширен с помощью пакетов NuGet.

При использовании Microsoft.Testing.Platform.MSBuild (включаемый транзитивно MSTest, NUnit и xUnit runners), требуется только установка пакета расширения NuGet – расширения автоматически обнаруживаются и регистрируются, а точка входа создаётся автоматически.

Если вы откажетесь от автоматической точки входа, задав параметр <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>, необходимо зарегистрировать расширения вручную в методе Main . Каждая страница расширения документирует ручной вызов регистрации.

Расширения, для которых требуется пакет NuGet, поставляются с собственной моделью лицензирования (немного менее разрешительной), обязательно обратитесь к лицензии, связанной с расширениями, которые вы хотите использовать.

Некоторые расширения являются экспериментальнымиTPEXP: их API-интерфейсы помечены диагностикой и могут измениться в будущем выпуске, поэтому необходимо подтвердить диагностику для их использования. Экспериментальные расширения помечены (экспериментальные) в следующих списках.

Начните здесь

Используйте следующий путь в зависимости от вашей цели.

Выбор по сценарию

  • Необходимо настроить терминал: выходные данные терминала (встроенные).
  • Требуются отчеты TRX или Azure DevOps: Test reports (расширение)
  • Требуется собственный вывод GitHub Actions (группы логов, аннотации и сводка задания): Отчёт GitHub Actions (расширение)
  • Требуются данные о покрытии: покрытие кода (расширение)
  • Необходима диагностика сбоев или зависаний: дампы сбоев и зависаний (расширение)
  • Нужно записать экран во время выполнения: Диагностика (расширение, экспериментальное)
  • Необходимо развернуть и запустить пакетный узел полного доверия, UWP или узел тестирования AppContainer: развертывание узла тестирования (расширение; API экспериментального запуска)
  • Необходимо повторно использовать Microsoft.Extensions.Configuration, Microsoft.Extensions.Hosting или Microsoft.Extensions.Logging: интеграция Microsoft.Extensions (расширение, экспериментальное)
  • Требуется создать редактор или интеграцию интегрированной среды разработки: режим сервера (встроенный)
  • Требуется загрузить расширения, не являющиеся ссылками, известными на этапе компиляции: динамическая загрузка расширений (встроенная, включается по запросу)
  • Необходимо повторить неудачные тесты: повторная попытка (расширение)
  • Требуется поддержка hot reload: Горячая перезагрузка (расширение)
  • Нужна поддержка Microsoft Fakes: Microsoft Fakes (расширение)
  • Требуется трассировка и метрики OpenTelemetry (расширение)
  • Необходимо предоставить клиентам чата ИИ тестовую платформу или расширение: интеграция СИ (расширение, экспериментальная)
  • Сбор данных телеметрии и возможность отказа от их использования: Телеметрия (расширение)

Встроенные функции

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

Выходные данные терминала

Отчеты о состоянии и ходе выполнения в терминале: режимы вывода, поддержка ANSI и индикаторы хода выполнения.

Режим сервера

Управление обнаружением и выполнением тестов из редактора, IDE или другого инструмента через JSON-RPC.

Динамическая загрузка расширений

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

Функции расширения

Для этих функций требуется установка пакетов NuGet.

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

Создание файлов тестового отчета (TRX, HTML, JUnit, CTRF, Azure DevOps, GitHub Actions).

Покрытие кода

Сбор данных покрытия кода во время выполнения теста.

Аварийное завершение и зависание дампов

Сбор файлов дампа процесса при сбое или зависании тестового узла.

OpenTelemetry

Во время выполнения тестов трассировки и метрики передаются с помощью OpenTelemetry.

Интеграции ИИ (экспериментально)

Предоставьте не зависящие от поставщика клиенты чата с ИИ для платформ и расширений тестирования, в том числе через Azure AI Foundry.

Повторить

Повторная проверка неудачных тестов с настраиваемыми политиками.

Горячая перезагрузка

Выполнение тестов с поддержкой горячей перезагрузки для быстрой итерации.

Microsoft Fakes

Запустите тесты, использующие Microsoft Fakes для заглушек и шотов.

Телеметрии

Коллекция данных телеметрии. Узнайте, как отказаться от сбора данных и какие данные собираются.

Диагностика (экспериментальная, представленная в MTP 2.3.0)

Соберите данные для диагностики запуска, например записав экран с помощью средства видеозаписи.

Развертывание узла тестирования (введено в MTP 2.3.0; стабильный API пакетов, начиная с MTP 2.4.0; API экспериментального запуска; Поддержка UWP и AppContainer, представленная в MTP 2.5)

Управляйте тем, как и где развертывается и запускается тестовый хост, включая упакованные тестовые хосты с полным доверием, UWP и AppContainer.

Интеграция с Microsoft.Extensions (экспериментальная; ведение журналов добавлено в MTP 2.3.0; конфигурация и хостинг добавлены в предварительной версии MTP 2.5)

Интегрируйте MTP с библиотеками, которые уже использует ваше приложение, включая снимки конфигурации, хосты, принадлежащие приложению, и перенаправление диагностических журналов.