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>
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
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 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 executado 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 que pode ser executado 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.