O corredor MSTest é uma alternativa leve e portátil ao VSTest para executar testes em todos os contextos (por exemplo, pipelines de integração contínua (CI), CLI, Visual Studio Test Explorer e VS Code Text Explorer). O executor MSTest é incorporado diretamente em seus projetos de teste MSTest e não há outras dependências de aplicativo, como vstest.console ou dotnet test, necessárias para executar seus testes.
O corredor MSTest é de código aberto e se baseia em uma Microsoft.Testing.Platform biblioteca. Você pode encontrar Microsoft.Testing.Platform código no repositório GitHub da microsoft/testfx . O corredor MSTest vem junto com MSTest in 3.2.0-preview.23623.1 ou mais recente.
Habilitar o corredor MSTest em um projeto MSTest
É recomendável usar o SDK do MSTest , pois simplifica muito a configuração do projeto e a atualização do projeto, além de garantir um alinhamento adequado das versões da plataforma (MSTest runner) e suas extensões.
Quando você usa MSTest SDKo , por padrão, você opta por usar o corredor MSTest.
Como alternativa, você pode habilitar o MSTest runner adicionando a propriedade e a EnableMSTestRunner configuração OutputType em Exe seu arquivo de projeto. Você também precisa garantir que está usando MSTest 3.2.0-preview.23623.1 ou mais recente.
Considere o seguinte arquivo de projeto de exemplo:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable the MSTest runner, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<!--
MSTest meta package is the recommended way to reference MSTest.
It's equivalent to referencing:
Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
MSTest.Analyzers
-->
<PackageReference Include="MSTest" Version="3.2.0" />
<!--
Coverlet collector isn't compatible with MSTest runner, you can
either switch to Microsoft CodeCoverage (as shown below),
or switch to be using coverlet global tool
https://github.com/coverlet-coverage/coverlet#net-global-tool-guide-suffers-from-possible-known-issue
-->
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage"
Version="17.10.1" />
</ItemGroup>
</Project>
Gorjeta
É aconselhável definir a propriedade EnableMSTestRunner em arquivo Directory.Build.props em vez de arquivo csproj para garantir que todos os projetos de teste em sua solução estejam usando o executor MSTest.
Configurações e filtros
.runsettings
O corredor MSTest suporta as configurações de execução através da opção --settingsde linha de comando. Para obter a lista completa de entradas MSTest suportadas, consulte Configure MSTest: Runsettings. Os comandos a seguir mostram vários exemplos de uso.
Utilização de dotnet run:
dotnet run --project Contoso.MyTests -- --settings config.runsettings
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Comece a testar seus aplicativos C# usando as ferramentas de teste no Visual Studio. Aprenda a escrever testes, usar o Gerenciador de Testes, criar conjuntos de testes e aplicar o padrão de refatoramento vermelho, verde para escrever código.