📚 Pré-requisitos Teóricos: este projeto aplica conceitos ensinados em Módulo 11: Qualidade e Testes de Software. Recomendado revisar antes de começar.

🧪 Testes de Integração com Bancos Reais via Testcontainers

v1.0 — Engenharia de Software & Práticas Profissionais

Trilha de Especialização Pedagógica

—`

🎯 Objetivo & Escopo do Projeto

Suíte de testes de integração automatizados em Java/Spring Boot utilizando Testcontainers para instanciar contêineres reais de PostgreSQL e Redis de forma efêmera e isolada em tempo de execução de teste.

—`

🛠️ Código de Exemplo da Implementação

package com.portal.testes;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.testcontainers.containers.PostgreSQLContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;

import static org.junit.jupiter.api.Assertions.assertTrue;

@SpringBootTest
@Testcontainers
class UsuarioIntegrationTest {

    @Container
    static PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:16-alpine")
            .withDatabaseName("testdb")
            .withUsername("testuser")
            .withPassword("testpass");

    @Test
    void deveConectarAoPostgresRealNoContainer() {
        assertTrue(postgres.isRunning(), "O contêiner PostgreSQL efêmero do Testcontainers deve estar ativo");
    }
}

—`

🚀 Como Executar no Laboratório

1. Abra o terminal na pasta deste projeto

No seu editor/IDE, abra a pasta deste projeto (File > Open Folder) ou navegue via terminal:

cd testes_02_testcontainers_integration

2. Execute a aplicação ou testes

./mvnw test
# ou k6 run load_test.js

[!TIP] Dica para execução a partir da raiz do repositório: Se você abriu o repositório completo no VS Code, basta navegar até a pasta antes de executar: cd proj_aplicacoes_full_stack/projetos/testes_02_testcontainers_integration

⬅️ Ver Todos os Projetos no Super-Hub 🏠 Página Inicial do Portal