es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando JUnit 5 con una clase base que contiene métodos de prueba abstractos con anotaciones.

Utilizando JUnit 5. Quiero ejecutar pruebas similares con pequeñas diferencias de implementación. Quiero que las subclases se ejecuten en un orden específico y que se repitan.

Utilizo una clase base

public abstract class BaseTest {

    @RepeatedTest(2)
    @Order(1)
    abstract void testSomething();

    @RepeatedTest(2)
    @Order(2)
    abstract void testSomethingElse();
}

Pero cuando extiendo esta clase e implemento los métodos, dice “No tests found”.

¿Alguna idea de cómo hacer esto?

Gracias de antemano (TIA).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para resolver el problema de “No Tests Found” al extender la clase BaseTest, las clases hijas deben implementar los métodos abstractos con el mismo nivel de acceso (es decir, público o protegido) y la firma del método tal como se declara en la clase padre. Además, las clases hijas deben incluir la anotación @Test para indicar que estos son métodos de prueba.

    Por ejemplo, suponiendo que tenemos una clase hija llamada ChildTest que extiende BaseTest, el siguiente código debería funcionar:

    public class ChildTest extends BaseTest {
    
        @Override
        @Test
        public void testSomething() {
            // implementación aquí
        }
    
        @Override
        @Test
        public void testSomethingElse() {
            // implementación aquí
        }
    
    }
    

    Con el código anterior, las pruebas en la clase hija ahora deberían ejecutarse y producir los resultados esperados.

Comments are closed.