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.
Estas funcionalidades exigem a instalação de pacotes NuGet adicionais, conforme descrito em cada secção.
Sugestão
Ao usar o Microsoft.Testing.Platform.MSBuild (incluído de forma transitiva pelos runners MSTest, NUnit e xUnit), estas extensões são registadas automaticamente quando instala os seus pacotes NuGet — não são necessárias alterações de código. O registo manual especificado neste artigo só é obrigatório se desativar o ponto de entrada gerado automaticamente ao definir <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Relatório de falha
Esta extensão permite que você crie um arquivo de despejo de memória se o processo falhar. Esta extensão requer o pacote NuGet Microsoft.Testing.Extensions.CrashDump .
Registo manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();
Opções
| Opção | Description |
|---|---|
--crashdump |
Gera um arquivo de despejo quando o processo do host de teste falha. Suportado em .NET 6.0+. |
--crashdump-filename |
Especifica o nome do arquivo do dump. |
--crashdump-type |
Especifica o tipo de despejo. Os valores válidos são Mini, Heap, Triage e Full. O valor padrão é Full. Para obter mais informações, consulte Tipos de minidumps. |
--crash-report |
[Apenas Linux/macOS] Gera um relatório de falha JSON quando o processo de teste falha. Combina com --crashdump para também gerar um ficheiro de dump. Requer .NET 7+ quando usado sozinho ou .NET 6+ quando combinado com --crashdump. Não é suportado no Windows porque o runtime de .NET ignora as variáveis de ambiente subjacentes DOTNET_EnableCrashReport e DOTNET_EnableCrashReportOnly no Windows (dotnet/runtime#80191). Disponível em MTP a partir da versão 2.3.0. |
--crash-report-if-supported |
Igual a --crash-report, mas ignorado, com uma mensagem informativa, nas plataformas em que a geração de relatórios de falhas não é suportada. Use esta opção para manter a mesma linha de comandos entre matrizes CI que incluem o Windows. Mutuamente exclusivo com --crash-report. Disponível em MTP a partir da versão 2.3.0. |
--crash-sequence |
Controla se um ficheiro de sequência que lista os testes iniciados e terminados durante a sessão de teste é gerado juntamente com o dump de falhas ou o relatório de falhas. O ficheiro permite identificar os testes que estavam a correr no momento do crash sem inspecionar o dump. Os valores válidos são on (padrão; também aceita true, enable, e 1) ou off (também aceita false, disable, e 0). Disponível em MTP a partir da versão 2.3.0. |
Atenção
A extensão não é compatível com o .NET Framework e será silenciosamente ignorada. Para suporte ao .NET Framework, ativas a depuração pós-morte com o Sysinternals ProcDump. Para obter mais informações, consulte Ativando a depuração postmortem: Windows Sysinternals ProcDump. A solução de depuração post-mortem também recolherá informações sobre falhas de processos para o .NET, para que possa evitar o uso da extensão caso esteja a direcionar aplicações de teste tanto para .NET como para .NET Framework.
Pendurar despejo
Esta extensão permite que você crie um arquivo de despejo após um determinado tempo limite. Esta extensão requer o pacote NuGet Microsoft.Testing.Extensions.HangDump.
Registo manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();
Opções
| Opção | Description |
|---|---|
--hangdump |
Gera um arquivo de despejo caso o processo do host de teste trave. |
--hangdump-filename |
Especifica o nome do arquivo do dump. Suporta os seguintes marcadores de posição: {pname} (nome da aplicação de teste), {pid} (ID do processo), {asm} (nome da assembleia da entrada), {tfm} (nome do framework alvo) e {time} (carimbo temporal). O token legado %p (ID de processo) também é suportado para compatibilidade retroativa. |
--hangdump-timeout |
Especifica a duração da ausência de atividade após a qual o dump é gerado. O valor de tempo limite é especificado em um dos seguintes formatos:1.5h, 1.5hour, 1.5hours90m, 90min, 90minute, 90minutes5400s, 5400sec, 5400second, 5400seconds500ms, 500mil, 500millisecond, 500milliseconds1d, 1day, 1days. Um número simples (sem sufixo) é interpretado como milissegundos. Por padrão, é 30m (30 minutos). |
--hangdump-type |
Especifica o tipo de despejo. Os valores válidos são Mini, Heap, Full, Triage (não disponível no .NET Framework) e None. O valor padrão é Full. Para obter mais informações, consulte Tipos de minidumps. O None valor está disponível no MTP a partir da versão 2.1.0. |
--hangdump-type-if-supported |
Igual que --hangdump-type , mas retorna, com uma mensagem informativa, ao tipo de dump suportado mais próximo quando o tipo solicitado não está disponível no tempo de execução atual. Por exemplo, Triage só é suportado no .NET (Core) e volta a Mini no .NET Framework. Use esta opção para manter a mesma linha de comandos entre matrizes CI que misturam .NET (Core) e .NET Framework. Os valores válidos são Mini, Heap, Full, Triage, e None. Mutuamente exclusivo com --hangdump-type. Disponível em MTP a partir da versão 2.3.0. |