Class PostgresTestResource

java.lang.Object
br.com.xadm.comum.teste.PostgresTestResource

public final class PostgresTestResource extends Object
Sobe um único PostgreSQLContainer (postgres:18-alpine) compartilhado entre todos os testes de integração da mesma JVM.

Use datasourceProperties() em TestPropertyProvider#getProperties() para o Micronaut apontar para o container. Também define System.setProperty(String, String) para ferramentas fora do TestPropertyProvider.

Não é o default. Esta fixture vale quando o teste precisa do handle do container (porta, SQL fora do datasource, withCommand) ou quando o application-test.yml está fora de alcance. App que só quer um Postgres real no @MicronautTest usa jdbc:tc: — mesmo compartilhamento por JVM, sem TestPropertyProvider nem @TestInstance(PER_CLASS). As três receitas e quando cada uma vale estão no package-info deste pacote.

  • Method Details

    • start

      public static void start()
      Inicia o container (idempotente); no-op se já iniciado.
    • container

      public static org.testcontainers.containers.PostgreSQLContainer<?> container()
      Returns o container em execução (ou null se start() ainda não rodou).
      Returns:
      o container em execução (ou null se start() ainda não rodou)
    • datasourceProperties

      public static Map<String,String> datasourceProperties()
      Propriedades para TestPropertyProvider (sobrescrevem application.yml). Inicia o container se necessário.
      Returns:
      mapa datasources.default.*