Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Utilize a Microsoft.Testing.Platform no modo VSTest de
Este artigo explica a integração de dotnet test com a Microsoft.Testing.Platform, fornecida pela Microsoft.Testing.Platform.MSBuild quando executada no modo VSTest de dotnet test.
Antes de mergulhar neste artigo, recomenda-se que primeiro leia Testes com dotnet test, que explica os dois modos de dotnet test (modos VSTest e MTP).
Por padrão, dotnet test usa VSTest para executar testes. Para habilitar o suporte para Microsoft.Testing.Platform em dotnet test, você tem duas opções:
- Use
dotnet testno modo VSTest e especifique<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>a propriedade MSBuild em seu arquivo de projeto. - Use
dotnet testno modo MTP para obter mais suporte nativo de MTP nodotnet test, que só é suportado a partir do SDK do .NET 10.
Ambas as opções são explicadas em detalhes no artigo Teste com dotnet .
Importante
Esta parte do artigo é específica para o modo VSTest do dotnet test.
Atenção
A partir do .NET 10 SDK, é recomendável não usar o modo VSTest ao ser executado com Microsoft.Testing.Platform.
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 propriedade <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure> 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>
<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>.
Esta opção não afeta a forma como o framework de teste captura a saída do utilizador escrita por Console.WriteLine ou outras maneiras semelhantes de escrever para o 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>
<OutputType>Exe</OutputType>
<EnableMSTestRunner>true</EnableMSTestRunner>
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
<!-- Add this to your project file. -->
<TestingPlatformCaptureOutput>false</TestingPlatformCaptureOutput>
</PropertyGroup>
<!-- ... -->
</Project>
Importante
Todos os exemplos acima adicionam propriedades como EnableMSTestRunner, TestingPlatformDotnetTestSupporte TestingPlatformCaptureOutput no arquivo csproj. No entanto, é altamente recomendável que você defina essas propriedades em Directory.Build.props. Dessa forma, você não precisa adicioná-lo a todos os arquivos de projeto de teste e não corre o risco de introduzir um novo projeto que não define essas propriedades e acaba com uma solução em que alguns projetos são VSTest enquanto outros são Microsoft.Testing.Platform, que pode não funcionar corretamente e é um cenário sem suporte.