Поделиться через


Начало работы с MSTest

Рекомендуемым способом создания проекта MSTest является использование MSTest.Sdk, пакета SDK для проекта MSBuild, который предоставляет первоклассный опыт для тестирования с помощью MSTest. Он включает все рекомендуемые значения по умолчанию и упрощает конфигурацию проекта.

Создание проекта с помощью MSTest.Sdk

Чтобы создать проект MSTest, укажите атрибут Sdk и версию MSTest MSTest.Sdk в файле проекта:

<Project Sdk="MSTest.Sdk/4.1.0">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>

Замечание

4.1.0 предоставляется в качестве примера и может быть заменена любой новой версией.

Чтобы упростить управление версиями в нескольких тестовых проектах, рекомендуется указать версию пакета SDK в файлеglobal.json на уровне решения:

<Project Sdk="MSTest.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

</Project>
{
    "msbuild-sdks": {
        "MSTest.Sdk": "4.1.0"
    }
}

Дополнительные сведения см. в разделе "Использование пакетов SDK для проекта MSBuild".

При выполнении build проекта все необходимые компоненты восстанавливаются и устанавливаются с помощью стандартного рабочего процесса NuGet. Вы можете использовать те же средства (например, dotnet test Visual Studio), что и любой другой тестовый проект.

Подсказка

По умолчанию MSTest.Sdk использует средство запуска MSTest с Microsoft.Testing.Platform. Дополнительные параметры конфигурации, такие как профили расширений, переключение на VSTest или интеграция с Aspire и Playwright, см. в разделе "Конфигурация пакета SDK MSTest".

Альтернатива. Использование пакета NuGet MSTest

Если вы предпочитаете не использовать MSTest.Sdk , можно использовать метапакет MSTest NuGet, который включает в себя:

  • MSTest.TestFramework, MSTest.TestAdapterи MSTest.Analyzers для основных функций MSTest.
  • Microsoft.NET.Test.Sdk для поддержки интеграции VSTest и тестового хоста.
  • Microsoft.Testing.Extensions.CodeCoverage и Microsoft.Testing.Extensions.TrxReport для расширений Microsoft.Testing.Platform (MTP).

Обзор пакетов NuGet

Функции MSTest разделены между несколькими пакетами NuGet:

Package Description
MSTest.TestFramework Содержит атрибуты и классы, используемые для определения тестов MSTest.
MSTest.TestAdapter Содержит адаптер теста, который обнаруживает и запускает тесты MSTest.
MSTest.Analyzers Содержит анализаторы, которые помогают создавать высококачественные тесты.

Замечание

Если вы создаете проект тестовой инфраструктуры, предназначенный в качестве вспомогательной библиотеки для нескольких тестовых проектов, установите MSTest.TestFramework и MSTest.Analyzers непосредственно в этот проект.

Языковые учебники

Подробные пошаговые руководства на предпочитаемом языке .NET:

Примеры проектов

Команда MSTest поддерживает примеры проектов в репозитории microsoft/testfx , демонстрируя различные функции и сценарии:

Sample Description Link
Simple1 Базовая настройка запуска тестов MSTest Просмотр на сайте GitHub
DemoMSTestSdk Настройка проекта пакета SDK MSTest Просмотр на сайте GitHub
BlankUwpNet9App Тестирование UWP с помощью .NET 9 Просмотр на сайте GitHub
BlankWinUINet9App Тестирование WinUI 3 с помощью .NET 9 Просмотр на сайте GitHub
NativeAotRunner Компиляция AOT нативного кода Просмотр на сайте GitHub
RunInDocker Контейнерное выполнение теста Просмотр на сайте GitHub