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 terminal test reporter é a implementação incorporada de relatório de estado e progresso para o terminal (consola). Faz parte do núcleo Microsoft. Testing.Platform (MTP) e não requer pacotes NuGet adicionais.
Modos de saída
Há dois modos de saída disponíveis:
Normal, a saída contém o banner, reporta falhas completas dos testes, mensagens de aviso e escreve o resumo da execução.
Detailed, o mesmo queNormal, mas também inclui os testesPassed.
ANSI (Instituto Nacional Americano de Normalização)
Internamente, existem 2 formatadores de saída diferentes que detetam automaticamente a capacidade do terminal para lidar com códigos de escape ANSI.
- O formatador ANSI é usado quando o terminal é capaz de renderizar os códigos de escape.
- O formatador não-ANSI é usado quando o terminal não consegue lidar com os códigos de escape, quando
--no-ansié usado ou quando a saída é redirecionada.
O padrão é detetar automaticamente as capacidades.
Progress
Um indicador de progresso é gravado no terminal. O indicador de progresso mostra o número de testes aprovados, testes falhados e testes saltados, seguido do nome do conjunto testado, da sua estrutura alvo e da arquitetura.
A barra de progresso é escrita com base no modo selecionado:
- ANSI, a barra de progresso é animada, aderindo à parte inferior da tela e é atualizada a cada 500ms. A barra de progresso é ocultada quando a execução do teste é concluída.
- não-ANSI, a barra de progresso é gravada no ecrã tal como está a cada 3 segundos. O progresso mantém-se no resultado.
Saída direta da consola e redesenho de progresso
Para animar a barra de progresso, o renderizador de progresso ANSI controla o cursor do terminal e redesenha repetidamente a parte inferior do ecrã. Qualquer texto escrito diretamente para stdout ou stderr fora do caminho de captura do framework de teste pode ser sobrescrito ou removido durante este redesenho. Por exemplo, uma chamada para Console.WriteLine a partir do código do ciclo de vida ao nível do assembly ou da sessão (como um gancho Before(Assembly) ou Before(TestSession)), ou a partir de uma extensão, pode piscar brevemente e depois desaparecer quando a barra de progresso é atualizada.
Este comportamento é distinto do resultado padrão capturado por teste e do erro padrão. A saída que um teste escreve enquanto está a correr é capturada pelo framework e mostrada de acordo com --show-stdout e --show-stderr, para que a barra de progresso não a sobrescriba.
Se o teu código tiver de escrever diretamente na consola e precisares de que essa saída permaneça visível, desativa o progresso (--progress off no MTP 2.3.0+, ou --no-progress em versões anteriores). Alternativamente, desative o ANSI (--ansi off no MTP 2.3.0+, ou --no-ansi em versões anteriores) para usar a saída de progresso não-ANSI, que adiciona novas linhas em vez de serem redesenhadas no local e não sobrescreve a saída direta anterior.
Opções
| Opção | Versão MTP | Description |
|---|---|---|
--no-progress |
— | Desativa a apresentação do progresso no ecrã. Descontinuado no MTP 2.3.0 em favor de --progress off. |
--progress |
2.3.0 | Controla se o progresso é mostrado. Os valores válidos são auto (por defeito), on (também aceita true, enable, 1), e off (também aceita false, disable, 0). |
--no-ansi |
— | Desativa a saída de caracteres de escape ANSI para a tela. |
--ansi |
2.3.0 | Controla se caracteres de escape ANSI são emitidos. Os valores válidos são auto (por defeito), on (também aceita true, enable, 1), e off (também aceita false, disable, 0). |
--output |
— | Especifica a verbosidade de saída ao relatar testes. Os valores válidos são Normal e Detailed. A predefinição é Normal. |
--show-stdout |
2.2.1 | Determina quando mostrar a saída padrão capturada de um teste. Os valores válidos são All, Failede None. A predefinição é All. |
--show-stderr |
2.2.1 | Determina quando mostrar a saída de erro capturada de um teste. Os valores válidos são All, Failede None. A predefinição é All. |
Note
Um traço (—) na coluna da versão MTP marca as opções principais que não estão ligadas a uma versão específica porque estão disponíveis desde os lançamentos iniciais da plataforma.
Note
A partir da versão 2.3.0 do MTP, quando o MTP deteta que está a ser executado num ambiente de LLM ou de ferramenta de IA, suprime o banner de arranque e altera o valor predefinido de --show-stdout e --show-stderr de All para Failed para reduzir o ruído.