Use Microsoft.Testing.Platform com dotnet test
Este artigo descreve como usar dotnet test
para executar testes ao usar Microsoft.Testing.Platform
o , e as várias opções disponíveis para configurar a saída MSBuild produzida ao executar testes por meio do Microsoft.Testing.Platform.
Este artigo mostra como usar dotnet test
para executar todos os testes em uma solução (*.sln) que usa Microsoft.Testing.Platform
o .
dotnet test
Integração
O comando dotnet test é uma maneira de executar testes de soluções, projetos ou assemblies já construídos.
Microsoft.Testing.Platform se conecta a essa infraestrutura para fornecer uma maneira unificada de executar testes, especialmente ao migrar do VSTest para o Microsoft.Testing.Platform
.
dotnet test
integração - modo VSTest
Microsoft.Testing.Platform
fornece uma camada de compatibilidade (VSTest Bridge) para trabalhar perfeitamente dotnet test
.
Os testes podem ser executados executando:
dotnet test
Esta camada executa o teste através do VSTest e integra-se com ele no nível do VSTest Test Framework Adapter.
dotnet test
- Modo Microsoft.Testing.Platform
Por padrão, o VSTest é usado para executar Microsoft.Testing.Platform
testes. Você pode habilitar um completo Microsoft.Testing.Platform
especificando a <TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
configuração em seu arquivo de projeto. Essa configuração desabilita o VSTest e, graças à dependência transitiva do pacote NuGet Microsoft.Testing.Platform.MSBuild , executa diretamente todos os Microsoft.Testing.Platform
projetos de teste habilitados em sua solução. Ele funciona perfeitamente se você passar em um projeto de teste direto Microsoft.Testing.Platform
.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<!-- Add this to your project file. -->
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
</PropertyGroup>
<!-- ... -->
</Project>
Nesse modo, você pode fornecer parâmetros extras que são usados para chamar o aplicativo de teste de uma das seguintes maneiras:
A partir da
Microsoft.Testing.Platform
versão 1.4 (incluída no MSTest versão 3.6), você pode adicionar opções após o traço--
duplo na linha de comando:dotnet test -- --minimum-expected-tests 10
Usando a
TestingPlatformCommandLineArguments
propriedade MSBuild na linha de comando:dotnet test -p:TestingPlatformCommandLineArguments="--minimum-expected-tests 10"
Ou no arquivo do projeto:
<PropertyGroup> ... <TestingPlatformCommandLineArguments>--minimum-expected-tests 10</TestingPlatformCommandLineArguments> </PropertyGroup>
Opções adicionais do MSBuild
A integração do MSBuild fornece opções que podem ser especificadas no arquivo de projeto ou por meio de propriedades globais na linha de comando, como -p:TestingPlatformShowTestsFailure=true
.
Estas são as opções disponíveis:
Mostrar falha por teste
Por padrão, as falhas de teste são resumidas em um arquivo .log e uma única falha por projeto de teste é relatada ao MSBuild.
Para mostrar erros por teste com falha, especifique -p:TestingPlatformShowTestsFailure=true
na linha de comando ou adicione a <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
propriedade ao arquivo de projeto.
Na linha de comando:
dotnet test -p:TestingPlatformShowTestsFailure=true
Ou no arquivo do projeto:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
</PropertyGroup>
<!-- ... -->
</Project>
Mostrar saída completa da plataforma
Por padrão, toda a saída do console que o executável de teste subjacente grava é capturada e oculta do usuário. Isso inclui o banner, informações de versão e informações de teste formatadas.
Para mostrar essas informações junto com a saída do MSBuild, use <TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
.
Essa opção não afeta como a estrutura de teste captura a saída do usuário gravada por Console.WriteLine
ou outras maneiras semelhantes de gravar no console.
Na linha de comando:
dotnet test -p:TestingPlatformCaptureOutput=false
Ou no arquivo do projeto:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>