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.
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.
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