Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O MTP vem com funcionalidades integradas e pode ser estendido através de pacotes NuGet.
Ao usar o Microsoft.Testing.Platform.MSBuild (incluído transitivamente pelos runners MSTest, NUnit e xUnit), instalar um pacote de extensão NuGet é tudo o que precisa — as extensões são automaticamente detetadas e registadas, e o ponto de entrada é gerado para si.
Se optar por sair do ponto de entrada gerado automaticamente ao definir <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>, deve registar as extensões manualmente no seu Main método. Cada página de extensão documenta a chamada de registo manual.
As extensões que exigem um pacote NuGet são enviadas com o seu próprio modelo de licenciamento (algumas menos permissivas), certifique-se de consultar a licença associada às extensões que pretende usar.
Algumas extensões são experimentais: as suas APIs são anotadas com o TPEXP diagnóstico e podem mudar numa versão futura, por isso tens de reconhecer o diagnóstico para as usar. As extensões experimentais são assinaladas como experimentais ) nas listas seguintes.
Comece aqui
Use o seguinte caminho com base no seu objetivo:
- Encontre opções de linha de comandos num só local: referência de opções MTP CLI.
- Adicione capacidades aos seus testes: utilize as páginas de funcionalidades neste artigo.
- Crie a sua própria extensão: arquitetura MTP, pontos de extensão e Serviços.
Escolha por cenário
- Necessidade de personalizar a saída do terminal: Saída do terminal (incorporada)
- Precisa de relatórios TRX ou Azure DevOps: Relatórios de Teste (extensão)
- Preciso de saída nativa do GitHub Actions (grupos de log, anotações e resumo do trabalho): relatório GitHub Actions (extensão)
- Necessita de dados de cobertura: Cobertura por código (extensão)
- São necessários diagnósticos de falha ou congelamento: Despejos de falha e congelamento (extensão)
- Necessidade de gravar o ecrã durante uma execução: Diagnóstico (extensão, experimental)
- Necessidade de implementar e lançar um host de teste de aplicação empacotada: Implementação do host de teste (extensão, experimental)
- É necessário encaminhar os registos da plataforma através de
Microsoft.Extensions.Logging: integração do Microsoft.Extensions (extensão, experimental) - Necessidade de construir integração com editor ou IDE: modo servidor (incorporado)
- Necessita de carregar extensões que não são referências em tempo de compilação: Carregamento dinâmico de extensões (integrado, opcional)
- Necessidade de tentar novamente testes falhados: Retentar (extensão)
- Necessito de suporte hot reload: Hot Reload (extensão)
- Precisa de suporte para Microsoft Fakes: Microsoft Fakes (extensão)
- Precisa de rastros e métricas do OpenTelemetry: OpenTelemetry (extensão)
- É necessário fornecer clientes de chat de IA a uma estrutura ou extensão de teste: integrações de IA (extensão, experimental)
- Recolha de dados de telemetria e opção de exclusão: Telemetria (extensão)
Funcionalidades incorporadas
Estas funcionalidades fazem parte da plataforma principal e não requerem pacotes NuGet adicionais.
Relatórios de estado e progresso para o terminal: modos de saída, suporte ANSI e indicadores de progresso.
Conduza a descoberta e execução de testes a partir de um editor, IDE ou outra ferramenta através de JSON-RPC.
Carregamento dinâmico de extensões
Carregar bibliotecas de extensão explicitamente declaradas a partir de manifestos JSON quando uma execução o ativar explicitamente.
Recursos de extensão
Estas funcionalidades exigem a instalação de pacotes NuGet.
Gerar ficheiros de relatório de teste (TRX, HTML, JUnit, CTRF, Azure DevOps, GitHub Actions).
Recolha dados de cobertura de código durante a execução dos testes.
Despejos de colisão e suspensão
Recolher ficheiros de despejo de processo em caso de falha ou bloqueio do host de teste.
Emitir traços e métricas através do OpenTelemetry durante os testes.
Integrações de IA (experimentais)
Forneça clientes de chat de IA neutros em relação ao fornecedor para testar frameworks e extensões, incluindo através do Azure AI Foundry.
Tentar novamente testes falhados com políticas configuráveis.
Executa testes com suporte para recarregamento dinâmico, permitindo iteração rápida.
Executa testes que usem Microsoft Fakes para 'stubs' e 'shims'.
Recolha de telemetria. Saiba como optar por não participar e que dados são recolhidos.
Diagnóstico (experimental, introduzido no MTP 2.3.0)
Recolha provas para diagnosticar uma corrida, como gravar o ecrã com o gravador de vídeo.
Implementação de host de teste (experimental, introduzida no MTP 2.3.0)
Controlar como e onde o host de teste é implementado e lançado, como implementar e lançar um host de teste de aplicação empacotada.
Integração com Microsoft.Extensions (experimental, introduzida no MTP 2.3.0)
Integre os diagnósticos da plataforma e das extensões nas bibliotecas Microsoft.Extensions.* que a sua aplicação já utiliza, por exemplo, encaminhando registos através do pipeline Microsoft.Extensions.Logging.