Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esses recursos exigem a instalação de pacotes NuGet adicionais, conforme descrito em cada seção.
Dica
Ao usar o Microsoft.Testing.Platform.MSBuild (incluído transitivamente por MSTest, NUnit e xUnit runners), essas extensões são registradas automaticamente quando você instala seus pacotes NuGet , sem necessidade de alterações de código. O registro manual especificado neste artigo só será necessário se você desabilitar o ponto de entrada gerado automaticamente definindo <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Despejo de memória
Essa extensão permite que você crie um arquivo de despejo de memória se o processo falhar. Essa extensão requer o pacote NuGet Microsoft.Testing.Extensions.CrashDump .
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddCrashDumpProvider();
Opções
| Opção | DESCRIÇÃO |
|---|---|
--crashdump |
Gera um arquivo de despejo quando o processo de host de teste falha. Com suporte no .NET 6.0+. |
--crashdump-filename |
Especifica o nome do arquivo do despejo. |
--crashdump-type |
Especifica o tipo do despejo. Os valores válidos são Mini, Heap, Triage e Full. Usa Full como padrão. Para obter mais informações, confira Tipos de mini despejos. |
--crash-report |
[Somente Linux/macOS] Gera um relatório de falha JSON quando o processo de teste falha. Combine com --crashdump para também gerar um arquivo de despejo. Requer .NET 7+ quando usado sozinho ou .NET 6+ quando combinado com --crashdump. Não há suporte no Windows porque o runtime do .NET ignora as variáveis de ambiente DOTNET_EnableCrashReport e DOTNET_EnableCrashReportOnly subjacentes em Windows (dotnet/runtime#80191). Disponível no MTP a partir da versão 2.3.0. |
--crash-report-if-supported |
Igual a --crash-report, mas ignorado, com uma mensagem informativa, em plataformas onde não há suporte à geração de relatórios de falha. Use essa opção para manter a mesma linha de comando entre matrizes de CI que incluem Windows. Mutuamente excludente com --crash-report. Disponível no MTP a partir da versão 2.3.0. |
--crash-sequence |
Controla se um arquivo de sequência com a lista dos testes que foram iniciados e encerrados durante a sessão de teste é gerado junto com o despejo de memória ou o relatório de falha. O arquivo possibilita identificar os testes que estavam em execução no momento da falha sem inspecionar o despejo. Os valores válidos são on (padrão; também aceita true, enablee 1) ou off (também aceita false, disablee 0). Disponível no MTP a partir da versão 2.3.0. |
Cuidado
A extensão não é compatível com .NET Framework e será ignorada silenciosamente. Para oferecer suporte ao .NET Framework, você habilita a depuração post-mortem com o Sysinternals ProcDump. Para obter mais informações, consulte Ativando a Depuração Post-mortem: Window Sysinternals ProcDump. A solução de depuração post-mortem também coletará informações sobre falhas de processo para o .NET, para que você possa evitar o uso da extensão se estiver direcionando tanto aplicativos de teste .NET quanto .NET Framework.
Despejo de travamento
Essa extensão permite que você crie um arquivo de despejo após um determinado tempo limite. Essa extensão requer o pacote NuGet Microsoft.Testing.Extensions.HangDump .
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHostControllers.AddHangDumpProvider();
Opções
| Opção | DESCRIÇÃO |
|---|---|
--hangdump |
Gera um arquivo de despejo caso o processo de host de teste se encontre travado. |
--hangdump-filename |
Especifica o nome do arquivo do despejo. Oferece suporte aos seguintes marcadores: {pname} (nome do aplicativo de teste), {pid} (ID do processo), {asm} (nome do assembly de entrada), {tfm} (moniker do framework de destino) e {time} (carimbo de data e hora). O token herdado %p (ID do processo) também tem suporte para compatibilidade com versões anteriores. |
--hangdump-timeout |
Especifica a duração de inatividade após a qual o despejo é gerado. O valor do tempo limite é especificado em um dos seguintes formatos:1.5h
1.5hour, 1.5hours90m, 90min, , 90minute90minutes5400s, 5400sec, , 5400second5400seconds500ms, 500mil, , 500millisecond500milliseconds1d, 1day. 1days. Um número nu (sem sufixo) é interpretado como milissegundos. O padrão é 30m (30 minutos). |
--hangdump-type |
Especifica o tipo do despejo. Os valores válidos são Mini, Heap, Full, Triage (não disponível no .NET Framework) e None. Usa Full como padrão. Para obter mais informações, confira Tipos de mini despejos. O None valor está disponível no MTP a partir da versão 2.1.0. |
--hangdump-type-if-supported |
Igual a --hangdump-type, mas recorre, com uma mensagem informativa, ao tipo de dump compatível mais próximo quando o tipo solicitado não está disponível no ambiente de execução atual. Por exemplo, Triage só tem suporte no .NET (Core) e volta para Mini no .NET Framework. Use essa opção para manter a mesma linha de comando entre matrizes de CI que combinam .NET (Core) e .NET Framework. Os valores válidos são Mini, , Heap, Full, Triagee None. Mutuamente excludente com --hangdump-type. Disponível no MTP a partir da versão 2.3.0. |