Persistencia

Spring Data

Tests

E2E

Para probar todas las capas de la aplicación levantando el servidor y configurando también una BD en memoria, se utilizan la siguientes anotaciones:

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.ANY)
class ControladorContadoresTest {
  private final TestRestTemplate restTemplate = new TestRestTemplate("admin@e.m", "admin");

  @Test public void contadorNoExistenteTest() {
    // When ...
    ResponseEntity<Void> response = restTemplate.exchange(
      "http://localhost:8080/api/contadores/no-existo",
      HttpMethod.GET, HttpEntity.EMPTY, Void.class);
    // Then ...
    Assertions.assertEquals(HttpStatus.NOT_FOUND, response.getStatusCode());
  }
}