46.3.17 자동 구성된 Data Neo4j 테스트

@ DataNeo4jTest를 사용하여 Neo4j 어플리케이션을 테스트 할 수 있습니다. 기본적으로 인 메모리 내장 임베디드 Neo4j (임베디드 드라이버를 사용할 수있는 경우)를 사용하고 @NodeEntity 클래스를 스캔하고 Spring Data Neo4j 저장소를 구성합니다. 일반 @Component 빈은 ApplicationContext로 로드되지 않습니다. (스프링 부트와 함께 Neo4J를 사용하는 것에 대한 더 자세한 내용은이 장 앞부분의 "Section 32.3, “Neo4j”를 참조하십시오.)

Neo4j : 그래프 데이터를 저장하고 관리하기 위한 그래프 DB

  • 자바 기반 그래프 DB. 임베딩 방식과 REST 방식 지원

  • 트랜잭션 지원. JTA 지원.

  • 인덱스, 노드 탐색 지원

  • Zookeeper 사용

  • 백업/복구 지원

@ DataNeo4jTest에 의해 활성화되는 자동 구성 설정 목록은 부록에서 찾을 수 있습니다.

다음 예제에서는 Spring Boot에서 Neo4J 테스트를 사용하기위한 일반적인 설정을 보여줍니다.

import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.neo4j.DataNeo4jTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@DataNeo4jTest
public class ExampleDataNeo4jTests {

	@Autowired
	private YourRepository repository;

	//
}

기본적으로 Data Neo4j 테스트는 트랜잭션이며 각 테스트가 끝날 때 롤백됩니다. 자세한 내용은 Spring Framework 참조 문서의 relevant section을 참조하십시오. 그것이 원하는 것이 아닌 경우 다음과 같이 테스트 또는 전체 클래스에 대한 트랜잭션 관리를 사용하지 않도록 설정할 수 있습니다.

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.autoconfigure.data.neo4j.DataNeo4jTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringRunner.class)
@DataNeo4jTest
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public class ExampleNonTransactionalTests {

}

Last updated