"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo volver a intentar las pruebas JUnit fallidas al instante?

¿Cómo volver a intentar las pruebas JUnit fallidas al instante?

Publicado el 2024-11-08
Navegar:440

How to Retry Failed JUnit Tests Instantly?

Reintentar pruebas JUnit fallidas al instante

Intentar gestionar errores de prueba poco frecuentes debido a acciones urgentes en grandes conjuntos de pruebas puede resultar frustrante. La buena noticia es que puede implementar una TestRule para reintentar las pruebas fallidas.

Creación de una RetryRule

Una TestRule le brinda control sobre la ejecución de la prueba. Para crear una RetryRule, defina una clase como esta:

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

En el método de aplicación, inserte su lógica de reintento alrededor de la llamada de prueba usando la base.evaluate() proporcionada:

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

Usando la regla de reintento

Anote su clase de prueba con la regla de esta manera:

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

Otras opciones

TestRunner personalizado:

Como alternativa, puede crear un TestRunner personalizado que extienda BlockJUnit4ClassRunner y anule runChild() para implementar el mecanismo de reintento.

Nota:

  • El RetryRule le permite especificar el número de reintentos, mientras que el TestRunner personalizado no lo hace.
  • También puede utilizar anotaciones para aplicar la lógica de reintento de forma selectiva.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3