Executar e depurar testes

Os projetos de teste do MTP são criados como executáveis que podem ser executados (ou depurados) diretamente. Não há nenhum console ou comando de execução de teste extra. O aplicativo encerra com um código de saída diferente de zero em caso de erro, o que é típico na maioria dos executáveis. Para obter mais informações sobre os códigos de saída conhecidos, consulte códigos de saída mtp.

Dica

Você pode ignorar um código de saída específico usando a opção de linha de comando --ignore-exit-code.

Você também pode definir opções de linha de comando que se aplicam a um projeto de teste específico no arquivo de projeto usando a propriedade TestingPlatformCommandLineArguments MSBuild. Um caso de uso comum é para projetos de teste que têm todos os testes ignorados, que normalmente sairão com o código de saída 8 (a sessão de teste executou zero testes). Nesse cenário, você pode adicionar o seguinte em um PropertyGroup no arquivo do projeto:

<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>

Importante

Por padrão, o MTP coleta telemetria. Para obter mais informações e opções sobre como optar pela exclusão, consulte a telemetria MTP.

Publicar o projeto de teste usando dotnet publish e executar o aplicativo diretamente é outra maneira de executar seus testes. Por exemplo, executando o ./Contoso.MyTests.exe. Em alguns cenários, também é viável usar dotnet build para produzir o executável, mas pode haver casos especiais a serem considerados, como AOT nativo.

Utilize dotnet run

O comando dotnet run pode ser usado para criar e executar o projeto de teste. Esta é a maneira mais fácil, embora às vezes mais lenta, de executar seus testes. Usar dotnet run é prático quando você está editando e executando testes localmente, pois garante que o projeto de teste seja recriado quando necessário. dotnet run também localizará automaticamente o projeto na pasta atual.

dotnet run --project Contoso.MyTests

Para obter mais informações sobre dotnet run, confira dotnet run.

Utilize dotnet exec

O comando dotnet exec ou dotnet é usado para executar (ou rodar) um projeto de teste já criado, isso é uma alternativa para rodar o aplicativo diretamente. dotnet exec exige o caminho para o arquivo DLL do projeto de teste compilado.

dotnet exec Contoso.MyTests.dll

ou

dotnet Contoso.MyTests.dll

Observação

Fornecer o caminho para o executável do projeto de teste (*.exe) resulta em um erro:

Error:
  An assembly specified in the application dependencies manifest
  (Contoso.MyTests.deps.json) has already been found but with a different
  file extension:
    package: 'Contoso.MyTests', version: '1.0.0'
    path: 'Contoso.MyTests.dll'
    previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'

Para obter mais informações sobre dotnet exec, confira dotnet exec.

Utilize dotnet test

MTP oferece uma camada de compatibilidade com vstest.console.exe e dotnet test, garantindo que você possa executar seus testes como antes, enquanto habilita novos cenários de execução.

dotnet test Contoso.MyTests.dll

Consulte também