Funcionalidades do Microsoft Testing Platform (MTP)

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:

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)
  • É necessário implementar e iniciar um host de teste empacotado com confiança total, UWP ou AppContainer: Implementação do host de teste (extensão; API experimental do iniciador)
  • Precisa de reutilizar Microsoft.Extensions.Configuration, Microsoft.Extensions.Hosting, ou Microsoft.Extensions.Logging: Microsoft. Integração de extensões (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.

Saída terminal

Relatórios de estado e progresso para o terminal: modos de saída, suporte ANSI e indicadores de progresso.

Modo servidor

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.

Relatórios de testes

Gerar ficheiros de relatório de teste (TRX, HTML, JUnit, CTRF, Azure DevOps, GitHub Actions).

Cobertura de código

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.

OpenTelemetria

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

Tentar novamente testes falhados com políticas configuráveis.

Hot Reload

Executa testes com suporte para recarregamento dinâmico, permitindo iteração rápida.

Falsificações da Microsoft

Executa testes que usem Microsoft Fakes para 'stubs' e 'shims'.

Telemetria

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 (introduzida no MTP 2.3.0; API de pacote estável a partir do MTP 2.4.0; API experimental do launcher; suporte a UWP e AppContainer introduzido no MTP 2.5)

Controle como e onde o host de teste é implantado e iniciado, incluindo hosts de teste full-trust empacotados, UWP e AppContainer.

Integração com Microsoft.Extensions (experimental; registo introduzido no MTP 2.3.0; configuração e hospedagem introduzidas na versão preliminar do MTP 2.5)

Ligue o MTP às Microsoft.Extensions.* bibliotecas que a sua aplicação já utiliza, incluindo instantâneos de configuração, anfitriões geridos pela aplicação e encaminhamento de registos de diagnóstico.