[java] TestContainers로 Neo4j 컨테이너를 시작하는 방법

이 블로그 포스트에서는 TestContainers를 사용하여 Java 코드에서 Neo4j 컨테이너를 시작하는 방법에 대해 알아보겠습니다.

개요

TestContainers는 인프라 컨테이너를 사용하여 테스트를 실행할 수 있는 Java 라이브러리입니다. 이를 사용하면 각 테스트마다 독립된 컨테이너가 생성되어 테스트 환경을 구성할 수 있습니다.

Neo4j는 그래프 데이터베이스이며, TestContainers를 사용하여 Neo4j 컨테이너를 시작하면 테스트에서 간단하게 Neo4j를 사용할 수 있습니다.

시작하기

먼저, Maven 또는 Gradle 프로젝트에 TestContainers를 추가해야 합니다. 이를 위해 다음과 같은 의존성을 추가합니다:

dependencies {
    // ...
    testImplementation 'org.testcontainers:testcontainers:1.15.3'
    testImplementation 'org.testcontainers:neo4j:1.15.3'
    // ...
}

그런 다음, 테스트 클래스에서 다음과 같이 Neo4j 컨테이너를 시작합니다:

import org.junit.jupiter.api.Test;
import org.neo4j.driver.*;

import org.testcontainers.containers.Neo4jContainer;

public class Neo4jContainerTest {

    @Test
    public void testNeo4jContainer() {
        try (Neo4jContainer<?> neo4jContainer = new Neo4jContainer<>("neo4j:latest")) {
            neo4jContainer.start();

            String boltUrl = neo4jContainer.getBoltUrl();
            String username = neo4jContainer.getUsername();
            String password = neo4jContainer.getPassword();

            // Neo4j 연결 및 테스트 실행 코드를 작성합니다.

            neo4jContainer.stop();
        }
    }
}

위의 코드에서는 Neo4j 컨테이너를 생성하고 시작한 후, 컨테이너의 연결 정보를 얻어와서 테스트 코드에서 사용할 수 있습니다. 테스트 종료 후에는 컨테이너를 정리하기 위해 stop() 메서드를 호출합니다.

결론

TestContainers를 사용하여 Java 코드에서 Neo4j 컨테이너를 시작하는 방법에 대해 알아보았습니다. 이를 통해 테스트 환경을 쉽게 구성하고, 간단하게 Neo4j를 사용할 수 있게 되었습니다. 추가적인 정보는 TestContainers를 참고하시기 바랍니다.