Sobes.tech
Junior — Middle

Czy masz doświadczenie w korzystaniu z kontenerów testowych w swoich projektach?

sobes.tech AI

Odpowiedź od AI

Kontenery testowe (Testcontainers) to biblioteka do testów integracyjnych, która umożliwia uruchamianie rzeczywistych kontenerów Docker z niezbędnymi usługami (np. bazy danych, brokerzy wiadomości) podczas wykonywania testów.

Doświadczenie z użytkowania obejmuje:

  • Automatyczne uruchamianie i zatrzymywanie kontenerów w środowisku testowym.
  • Izolację testów za pomocą rzeczywistych usług, co zwiększa niezawodność testów.
  • Możliwość konfigurowania kontenerów zgodnie z potrzebami testu.

Przykład użycia z bazą danych PostgreSQL:

public class MyRepositoryTest {

    @Rule
    public PostgreSQLContainer<?> postgres = new PostgreSQLContainer<>("postgres:13")
            .withDatabaseName("testdb")
            .withUsername("user")
            .withPassword("pass");

    @Test
    public void testDatabaseConnection() {
        String jdbcUrl = postgres.getJdbcUrl();
        // Użyj jdbcUrl do połączenia i testowania repozytorium
    }
}

W ten sposób kontenery testowe pozwalają na tworzenie bardziej realistycznych i niezawodnych testów integracyjnych bez konieczności ręcznego konfigurowania środowiska.