Repaso
English
TestingIntermedioTST-38

¿Qué anotaciones de JUnit 5 se ejecutan antes de cada test y marcan un test parametrizado?

Opciones

  1. @BeforeEach y @ParameterizedTest (Opción correcta)
  2. Las anotaciones @SetupAll y @LoopTest
  3. Las anotaciones @InitEach y @ManyTimes
  4. Las anotaciones @BeforeTest y @Params

Respuesta

@BeforeEach y @ParameterizedTest

Por qué

Lo básico de JUnit 5 (Jupiter):

  • @Test: un método de test.
  • @BeforeEach / @AfterEach: se ejecutan alrededor de cada test (preparar y limpiar).
  • @BeforeAll / @AfterAll: una vez por clase (static).
  • @ParameterizedTest con @ValueSource, @CsvSource: ejecuta un test con muchas entradas.
  • @DisplayName, @Disabled, @Nested.

Assertions: assertEquals, assertTrue, assertThrows. AssertJ ofrece alternativas fluidas.

@ParameterizedTest
@CsvSource({"2,3,5", "10,-4,6"})
void adds(int a, int b, int expected) {
    assertEquals(expected, a + b);
}

Recuerda

@BeforeEach = por test. @ParameterizedTest = muchas entradas.

Términos clave

Practica esta pregunta en Repaso