Partilhar via


Extensões de relatórios de teste

Este artigo lista e explica todas as extensões Microsoft.Testing.Platform relacionadas ao recurso de relatório de teste.

Um relatório de teste é um arquivo que contém informações sobre a execução e o resultado dos testes.

Relatórios de teste do Visual Studio

O arquivo de resultado de teste do Visual Studio (ou TRX) é o formato padrão para publicar resultados de teste. Esta extensão é fornecida como parte do pacote Microsoft.Testing.Extensions.TrxReport.

As opções disponíveis são as seguintes:

Opção Descrição
--report-trx Gera o relatório TRX.
--report-trx-filename O nome do relatório TRX gerado. O nome padrão corresponde ao seguinte formato <UserName>_<MachineName>_<yyyy-MM-dd HH:mm:ss>.trx.

O relatório é salvo dentro da pasta padrão TestResults que pode ser especificada por meio do argumento de linha de comando --results-directory.

Relatórios do Azure DevOps

O plugin de relatórios Azure DevOps melhora a execução de testes para programadores que alojam o seu código no GitHub, mas que se baseiam em agentes de compilação Azure DevOps. Adiciona informação adicional às falhas para mostrar a falha diretamente no PR do GitHub.

Anotação de erro na vista de ficheiros PR do GitHub

A extensão é incluída no pacote Microsoft.Testing.Extensions.AzureDevOpsReport .

As opções disponíveis são as seguintes:

Opção Descrição
--report-azdo Ativar a apresentação de erros / avisos em construções de CI.
--report-azdo-severity Gravidade a ser utilizada para o incidente reportado. As opções são: error (por defeito) e warning.

A extensão deteta automaticamente que está a correr em ambiente de integração contínua (CI) ao verificar a TF_BUILD variável de ambiente.

Determinar a linha a reportar

Para destacar a linha correta no código onde ocorreu a falha, o plugin de relatórios do Azure DevOps pesquisa o stacktrace de erro para um ficheiro que exista no repositório atual.

Para determinar isto, é necessário:

  • encontra a raiz do repositório, isto é feito pesquisando o .git diretório mais próximo do local de onde a aplicação de teste foi iniciada (conforme determinado por AppContext.BaseDirectory).
  • Encontra a primeira linha no Stack Trace que tem localização do ficheiro e linha (a biblioteca precisa de ter símbolos de depuração).
  • exclui todos os ficheiros que terminam em Assert.cs para evitar mostrar detalhes das suas implementações ou wrappers de asserção.
  • exclui todos os ficheiros que não existem no disco (normalmente são linhas de bibliotecas externas que enviam símbolos de depuração, por exemplo, MSTest).

(Estes são detalhes internos que ajudam a depurar o comportamento e podem mudar no futuro.)