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 de projeto:
<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>
Observação
Disponível no MTP a partir da versão 2.3.0.
Para uma parada normal, pressione Ctrl+C uma vez para solicitar o cancelamento. A execução de testes pode concluir a fase de encerramento. Para terminar imediatamente, pressione Ctrl+C novamente.
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
A partir do SDK do .NET 10, dotnet test tem um modo MTP dedicado. Selecione MTP por meio de global.json, ou use a variável de ambiente DOTNET_TEST_RUNNER com o .NET 11 Preview 6 ou posterior. O modo dedicado dá suporte a projetos, soluções, módulos de teste criados e tipos de entrada adicionais em versões mais recentes do SDK.
dotnet test --test-modules Contoso.MyTests.dll
Para seleção do executor e migração a partir do modo compatível com VSTest, consulte Testando com dotnet test.
Os testes mtp podem ser executados (e depurados) em Visual Studio, eles se integram ao Gerenciador de Testes e também podem ser executados diretamente como projeto de inicialização.
Execute o aplicativo com Visual Studio
O projeto de teste MTP é criado como um executável e pode ser rodado diretamente. Isso executa todos os testes no executável fornecido, a menos que um filtro seja fornecido.
- Navegue pelo projeto de teste que você deseja executar no Gerenciador de Soluções, selecione-o com o botão direito do mouse e selecione Definir como Projeto de Inicialização.
- Selecione Debug>Iniciar sem Depuração (ou use Ctrl+F5) para executar o projeto de teste selecionado.
A janela do console é exibida com a execução e o resumo da execução do teste.
Depurar o aplicativo diretamente no Visual Studio
O projeto de teste do MTP pode ser depurado diretamente. Para depurar todos os testes no executável fornecido, a menos que um filtro seja fornecido:
- Navegue pelo projeto de teste que você deseja executar no Gerenciador de Soluções, selecione-o com o botão direito do mouse e selecione Definir como Projeto de Inicialização.
- Defina o ponto de interrupção no teste que você deseja depurar.
- Acesse Depurar>Iniciar Depuração (ou pressione F5) para depurar o projeto de teste selecionado.
Todos os testes são executados até que o teste com um ponto de interrupção seja atingido. Percorra o teste para depurá-lo. Depois de terminar a depuração, o aplicativo retomará a execução de todos os testes restantes, a menos que você o interrompa.
Usar o Gerenciador de Testes
Para executar um teste, navegue até o Gerenciador de Testes, selecione o teste (ou testes) a ser executado. Selecione-o com o botão direito do mouse e escolha Executar. Da mesma forma para depurar um teste, selecione o teste (ou testes) no Gerenciador de Testes, clique com o botão direito do mouse e escolha Depurar.
Observação
A atualização automática de testes sem construir o projeto não está disponível.
A extensão C# juntamente com C# Dev Kit permite que você depure/execute testes em Visual Studio código, bem como adiciona integração ao Gerenciador de Testes do Visual Studio Code.
Executar o aplicativo com Visual Studio Code
O projeto de teste MTP é criado como um executável e pode ser rodado diretamente. Isso executa todos os testes no executável fornecido, a menos que um filtro seja fornecido.
- Navegue até um arquivo de teste para o qual você deseja executar testes.
- Use Ctrl+F5 para executar o projeto de teste selecionado. Se você tiver vários projetos, um pop-up solicitará que você selecione aquele a ser executado.
A janela do console é exibida com a execução e o resumo da execução do teste.
Depurar o aplicativo diretamente no código Visual Studio
O projeto de teste MTP é criado como um executável e pode ser rodado diretamente. Isso executa todos os testes no executável fornecido, a menos que um filtro seja fornecido.
- Navegue até um arquivo de teste para o qual você deseja executar testes.
- Use F5 para depurar o projeto de teste selecionado. Se você tiver vários projetos, um pop-up solicitará que você selecione aquele a ser executado.
Dica
Há várias outras maneiras de executar um dotnet project usando o C# DevKit, como executar de solution explorer ou criar configurações de inicialização correspondentes. Eles são especificados na documentação Visual Studio Code.
À medida que o projeto é executado, a guia de saída aparece com a execução e o resumo do teste.
Usar o Gerenciador de Testes
Para executar um teste, navegue até o Gerenciador de Testes, selecione o teste (ou testes) a ser executado. Selecione-o com o botão direito do mouse e escolha Executar. Da mesma forma para depurar um teste, selecione o teste (ou testes) no Gerenciador de Testes, clique com o botão direito do mouse e escolha Depurar.
Observação
A atualização automática de testes sem construir o projeto não está disponível.
Para executar um único projeto de teste em CI, adicione uma etapa para cada teste executável que você deseja executar, como no exemplo a seguir em Azure DevOps:
- task: CmdLine@2
displayName: "Run Contoso.MyTests"
inputs:
script: '.\Contoso.MyTests\bin\Debug\net10.0\Contoso.MyTests.exe'
Execute o dotnet test comando manualmente, semelhante ao fluxo de trabalho local típico:
- task: CmdLine@2
displayName: "Run tests"
inputs:
script: 'dotnet test' # add command-line options as needed
Execute a tarefa Azure DotNetCoreCLI usando o comando de teste. Isso requer um global.json arquivo na raiz do repositório que especifica MTP como o executor de teste:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
- task: DotNetCoreCLI@2
displayName: "Run tests"
inputs:
command: test
Observação
O suporte para MTP em DotNetCoreCLI foi adicionado na versão 2.263.0 do software.