Voltar para a listaSpring Boot • 8 min de leitura

Testes de integração que não mentem

Estratégias com TestContainers para manter CI/CD rápida sem sacrificar a confiança no código.

Autor: Danilo FernandoPublicado em 18 de janeiro de 2025
Testes de integração que não mentem

Suites verdes, código frágil

Um suite verde sem confiança é pior do que nenhum suite — ela te dá licença pra dar deploy enquanto o sistema queima.

O padrão que funciona

  1. TestContainers para dependências reais (Postgres, Kafka, Redis).
  2. Fixtures determinísticos — nada de @Sql + random.
  3. Um seed por teste, sem estado compartilhado.
  4. Assertions em dados, não em número de chamadas de mock.
@Testcontainers
@SpringBootTest
class OrderConfirmationIT {
    @Container
    static PostgreSQLContainer<?> db = new PostgreSQLContainer<>("postgres:16")
        .withInitScript("db/init.sql");

    @DynamicPropertySource
    static void props(DynamicPropertyRegistry reg) {
        reg.add("spring.datasource.url", db::getJdbcUrl);
    }
}

O que isso compra

  • Testes que viram verdes junto do código, não depois.
  • Refactors sem medo.
  • Conversas objetivas em code review.
#testes #spring-boot #testcontainers