46.3.16 자동 구성된 Data MongoDB 테스트들

@DataMongoTest를 사용하여 MongoDB 응용 프로그램을 테스트 할 수 있습니다. 기본적으로 인 메모리 내장형 MongoDB (사용 가능한 경우)를 구성하고, MongoTemplate을 구성하고, @Document 클래스를 스캔하고, Spring Data MongoDB 저장소를 구성합니다. 일반 @Component 빈은 ApplicationContext로 로드되지 않습니다. (스프링 부트와 함께 MongoDB를 사용하는 것에 대한 더 자세한 정보는이 장 앞부분의 "Section 32.2, “MongoDB ""를보십시오.)

@DataMongoTest가 사용할 수있는 자동 구성 설정 목록은 부록에서 찾을 수 있습니다.

다음 클래스는 사용중인 @DataMongoTest 어노테이션을 보여줍니다.

import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@DataMongoTest
public class ExampleDataMongoTests {

	@Autowired
	private MongoTemplate mongoTemplate;

	//
}

인 메모리 임베디드 MongoDB는 일반적으로 테스트에 적합합니다. 빠르고 개발자 설치가 필요 없기 때문입니다. 그러나 실제 MongoDB 서버에 대해 테스트를 실행하려면 다음 예와 같이 임베디드 MongoDB 자동 구성을 제외 해야합니다.

import org.junit.runner.RunWith;
import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoAutoConfiguration;
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@DataMongoTest(excludeAutoConfiguration = EmbeddedMongoAutoConfiguration.class)
public class ExampleDataMongoNonEmbeddedTests {

}

Last updated