"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como tentar novamente testes JUnit com falha instantaneamente?

Como tentar novamente testes JUnit com falha instantaneamente?

Publicado em 2024-11-08
Navegar:560

How to Retry Failed JUnit Tests Instantly?

Repetir testes JUnit com falha instantaneamente

Tentar lidar com falhas de teste pouco frequentes devido a ações urgentes em grandes conjuntos de testes pode ser frustrante. A boa notícia é que você pode implementar uma TestRule para tentar novamente testes com falha.

Criando uma RetryRule

Uma TestRule oferece controle sobre a execução do teste. Para criar uma RetryRule, defina uma classe como esta:

public class RetryTest {
    public class RetryRule implements TestRule {
        ...
        public Statement apply(Statement base, Description description) {
            ...
        }
        ...
    }
}

No método apply, insira sua lógica de nova tentativa em torno da chamada de teste usando base.evaluate() fornecida:

public Statement apply(Statement, Description) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            ...
            for (int i = 0; i 

Usando a RetryRule

Anote sua classe de teste com a regra assim:

...
@Rule
public Retry rule = new Retry(3);
...

Outras opções

Custom TestRunner:

Como alternativa, você pode criar um TestRunner personalizado que estenda BlockJUnit4ClassRunner e substitua runChild() para implementar o mecanismo de nova tentativa.

Nota:

  • A RetryRule permite que você especifique o número de novas tentativas, enquanto o TestRunner personalizado não.
  • Você também pode usar anotações para aplicar a lógica de nova tentativa seletivamente.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3