Partilhar via


Retry

Esta funcionalidade requer o pacote NuGet Microsoft.Testing.Extensions.Retry .

Sugestão

Ao usar o Microsoft.Testing.Platform.MSBuild (incluído de forma transitiva pelos runners MSTest, NUnit e xUnit), esta extensão é registada automaticamente quando instala o pacote NuGet — não são necessárias alterações de código. O registo manual na secção seguinte só é obrigatório se desativar o ponto de entrada gerado automaticamente ao definir <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Registo manual

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddRetryProvider();

Retry

Uma extensão para resiliência de teste .NET e tratamento de falhas transitórias.

Esta extensão destina-se a testes de integração em que o teste depende fortemente do estado do ambiente e pode sofrer falhas transitórias.

Observação

O pacote é fornecido com a licença restritiva Microsoft.Testing.Platform Tools. A licença completa está disponível em https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.0.0/License.

Opções

Opção Description
--retry-failed-tests Executa novamente todos os testes com falha até que eles passem ou até que o número máximo de tentativas seja atingido. É necessário para ativar a extensão.
--retry-failed-tests-max-percentage Evita a repetição de testes quando a porcentagem de casos de teste reprovados ultrapassa o limite especificado. Não pode ser combinado com --retry-failed-tests-max-tests.
--retry-failed-tests-max-tests Evita a repetição de testes quando o número de casos de teste com falha ultrapassa o limite especificado. Não pode ser combinado com --retry-failed-tests-max-percentage.

Ambas as opções de limiar (--retry-failed-tests-max-percentage e --retry-failed-tests-max-tests) também requerem que --retry-failed-tests seja definido.

Exemplos

Repetir testes fracassados até 3 vezes

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3

Repetir testes falhados até 2 vezes, mas interrompa as tentativas se mais de 50% dos testes falharem.

dotnet run --project Contoso.MyTests -- --retry-failed-tests 2 --retry-failed-tests-max-percentage 50

Repita os testes falhados até três vezes, mas pare de repetir se mais de dez testes falharem.

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3 --retry-failed-tests-max-tests 10

Limitações

  • Não é suportado em plataformas de navegador.
  • Não suportado no modo hot reload.