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.

Ao 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 MTP. Para obter opções avançadas de configuração, como perfis de extensão, alternar para VSTest ou integrar com Aspire e Dramaturgo, 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 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 Ver no GitHub
DemoMSTestSdk Configuração do projeto do SDK do MSTest Ver no GitHub
UwpMtpApp Testes modernos de UWP em .NET com Microsoft.Testing.Platform Ver no GitHub
ClassicUwpMtpApp Testes UWP clássicos com Microsoft.Testing.Platform Ver no GitHub
UwpVSTestApp Testes legados de UWP com VSTest Ver no GitHub
WinUIMtpPackagedApp Teste empacotado do WinUI 3 com Microsoft.Testing.Platform Ver no GitHub
WinUIMtpUnpackagedApp Teste de WinUI 3 desempacotado com Microsoft.Testing.Platform Ver no GitHub
WinUIMtpAppContainerApp Teste do AppContainer WinUI 3 com Microsoft. Testing.Platform Ver no GitHub
WinUIVSTestApp Teste do WinUI 3 com VSTest Ver no GitHub
NativeAotRunner Compilação AOT nativa Ver no GitHub
RunInDocker Execução de teste em contêineres Ver no GitHub