Compartilhar via


Introdução ao MSTest

A maneira recomendada de criar um projeto MSTest é usar o MSTest.Sdk, um SDK de projeto do MSBuild que fornece uma experiência de primeira classe para teste com o MSTest. Ele inclui todos os padrões recomendados e simplifica a configuração do projeto.

Criar um projeto com MSTest.Sdk

Para criar um Projeto MSTest, defina o atributo Sdk com o valor MSTest.Sdk correspondente à versão do MSTest no seu arquivo de projeto:

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

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

</Project>

Observação

4.1.0 é dado como um exemplo e pode ser substituído por qualquer versão mais recente.

Para simplificar o gerenciamento de versão em vários projetos de teste, recomendamos especificar a versão do SDK em um arquivo global.json no nível da solução:

<Project Sdk="MSTest.Sdk">

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

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

Para obter mais informações, confira Usar os SDKs do projeto do MSBuild.

Quando você build o projeto, todos os componentes necessários são restaurados e instalados usando o fluxo de trabalho padrão do NuGet. Você pode usar as mesmas ferramentas (por exemplo, dotnet test ou Visual Studio) que qualquer outro projeto de teste.

Dica

Por padrão, MSTest.Sdk usa o executor MSTest com Microsoft.Testing.Platform. Para obter opções avançadas de configuração, como perfis de extensão, alternar para VSTest ou integrar com Aspire e Playwright, consulte a configuração do SDK do MSTest.

Alternativa: usar o pacote NuGet MSTest

Se você preferir não usar MSTest.Sdk, poderá usar o metapacote NuGet MSTest , que inclui:

  • MSTest.TestFramework, MSTest.TestAdaptere MSTest.Analyzers para a funcionalidade principal do MSTest.
  • Microsoft.NET.Test.Sdk para integração do VSTest e suporte ao host de teste.
  • Microsoft.Testing.Extensions.CodeCoverage e Microsoft.Testing.Extensions.TrxReport para extensões Microsoft.Testing.Platform (MTP).

Visão geral dos pacotes Do NuGet

A funcionalidade MSTest é dividida em vários pacotes NuGet:

Package Description
MSTest.TestFramework Contém os atributos e classes usados para definir testes MSTest.
MSTest.TestAdapter Contém o adaptador de teste MSTest que descobre e executa testes.
MSTest.Analyzers Contém analisadores que ajudam você a escrever testes de alta qualidade.

Observação

Se você estiver criando um projeto de infraestrutura de teste destinado como uma biblioteca auxiliar para vários projetos de teste, instale-o MSTest.TestFramework e MSTest.Analyzers diretamente nesse projeto.

Tutoriais específicos do idioma

Para tutoriais passo a passo detalhados em seu idioma .NET preferido:

Projetos de exemplo

A equipe do MSTest mantém projetos de exemplo no repositório microsoft/testfx demonstrando vários recursos e cenários:

Sample Description Link
Simples1 Configuração básica do executor de testes MSTest Exibir no GitHub
DemoMSTestSdk Configuração do projeto do SDK do MSTest Exibir no GitHub
BlankUwpNet9App Teste UWP com .NET 9 Exibir no GitHub
BlankWinUINet9App Teste do WinUI 3 com o .NET 9 Exibir no GitHub
NativeAotRunner Compilação AOT nativa Exibir no GitHub
RunInDocker Execução de teste em contêineres Exibir no GitHub