Os projetos de teste MTP são construídos 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 sai com um código de saída diferente de zero se houver um erro, o que é típico para a maioria dos executáveis. Para mais informações sobre os códigos de saída conhecidos, consulte códigos de saída MTP.
Sugestão
Você pode ignorar um código de saída de específico usando a opção de linha de comando --ignore-exit-code.
Também pode definir opções de linha de comando que se aplicam a um projeto de teste específico no ficheiro 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). Neste cenário, pode adicionar o seguinte debaixo de um PropertyGroup no seu ficheiro de projeto:
<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --ignore-exit-code 8</TestingPlatformCommandLineArguments>
Observação
Disponível em MTP a partir da versão 2.3.0.
Para uma paragem elegante, pressione Ctrl+C uma vez para pedir o cancelamento. Fazer testes pode terminar a demolição. Para terminar imediatamente, pressione Ctrl+C novamente.
Publicar o projeto de teste usando dotnet publish e executar a aplicação diretamente é outra forma de executar os testes. Por exemplo, executar o ./Contoso.MyTests.exe. Em alguns cenários, também é viável usar dotnet build para produzir o executável, mas podem haver casos especiais a considerar; por exemplo, AOT Nativo.
Utilize dotnet run
O comando dotnet run pode ser usado para compilar e executar o seu projeto de teste. Esta é a maneira mais fácil, embora às vezes mais lenta, de executar seus testes. Usar dotnet run é prático quando edita e executa testes localmente, porque garante que o projeto de teste é reconstruído quando necessário.
dotnet run também encontrará automaticamente o projeto na pasta atual.
dotnet run --project Contoso.MyTests
Para obter mais informações sobre dotnet run, veja dotnet run.
Utilize dotnet exec
O comando dotnet exec ou dotnet é usado para executar (ou rodar) um projeto de teste já construído, sendo esta uma alternativa à execução direta da aplicação.
dotnet exec requer o caminho para o DLL do projeto de teste construído.
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 num 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, consulte dotnet exec.
Utilize dotnet test
A partir do SDK .NET 10, dotnet test tem um modo MTP dedicado. Selecione MTP através de global.json, ou utilize a variável de ambiente DOTNET_TEST_RUNNER com o .NET 11 Preview 6 ou posterior. O modo dedicado suporta projetos, soluções, módulos de teste construídos e tipos de entrada adicionais em versões mais recentes do SDK.
dotnet test --test-modules Contoso.MyTests.dll
Para obter informações sobre a seleção e a migração de runners a partir do modo compatível com VSTest, consulte Testar com dotnet test.
Os testes MTP podem ser executados (e depurados) no Visual Studio, integram-se com o Test Explorer e também podem ser executados diretamente como projeto de arranque.
Executa a aplicação com o Visual Studio
Os projetos de teste MTP são construídos como executáveis e podem ser executados diretamente. Isso executa todos os testes no executável fornecido, a menos que um filtro seja fornecido.
- Navegue até ao projeto de teste que pretende executar no Explorador de Soluções, selecione-o com o botão direito do rato 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, mostrando a execução e o resumo do seu teste.
Depure a aplicação diretamente no Visual Studio
O projeto de teste MTP pode ser debugado diretamente. Para depurar todos os testes no executável fornecido, a não ser que um filtro seja fornecido:
- Navegue até ao projeto de teste que pretende executar no Explorador de Soluções, selecione-o com o botão direito do rato e selecione Definir como Projeto de Inicialização.
- Defina o ponto de interrupção no teste que você gostaria de depurar.
- Vá a Debug>Iniciar Depuração (ou pressione F5) para depurar o projeto de teste selecionado.
Todos os testes são executados até que o teste que possui um ponto de interrupção seja atingido. Passe pelo teste para depurá-lo. Quando terminares de depurar, a aplicação continuará a executar todos os testes restantes, a menos que a interrompas.
Usar o Explorador de Testes
Para executar um teste, navegue até 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 que para depurar um teste, selecione o teste (ou testes) no Gerenciador de Testes, selecione com o botão direito do mouse e escolha Depurar.
Observação
A atualização automática dos testes sem compilar o projeto não está disponível.
A extensão C# juntamente com C# Dev Kit permite depurar/executar testes em código Visual Studio, além de adicionar integração com o Explorador de Testes da Visual Studio Code.
Executa a aplicação com o Visual Studio Code
Os projetos de teste MTP são construídos como executáveis e podem ser executados 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 o que será executado.
A janela do console é exibida, mostrando a execução e o resumo do seu teste.
Depure a aplicação diretamente no Visual Studio Code
Os projetos de teste MTP são construídos como executáveis e podem ser executados 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 o que será executado.
Sugestão
Existem várias outras formas de executar um project dotnet usando C# DevKit, como correr a partir do solution explorer ou criar configurações de lançamento correspondentes. Estas são especificadas na documentação do Código Visual Studio.
Quando o projeto é executado, aparece o separador de saída com a execução e o resumo da sua execução de teste.
Usar o Explorador de Testes
Para executar um teste, navegue até 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 que para depurar um teste, selecione o teste (ou testes) no Gerenciador de Testes, selecione com o botão direito do mouse e escolha Depurar.
Observação
A atualização automática dos testes sem compilar o projeto não está disponível.
Para executar um único project de teste em CI, adicione um passo para cada executável de teste que pretende executar, como o seguinte no 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 usando a tarefa DotNetCoreCLI Azure com o comando test. Isto requer um global.json ficheiro na raiz do teu repositório que especifique o MTP como executor de teste:
{
"test": {
"runner": "Microsoft.Testing.Platform"
}
}
- task: DotNetCoreCLI@2
displayName: "Run tests"
inputs:
command: test
Observação
A versão DotNetCoreCLI da tarefa adicionou suporte para MTP em .