스프링은 JUnit 을 이용하는 테스트 컨텍스트 프레임워크를 제공한다.
- 간단한 어노테이션 설정으로 필요한 어플리케이션 컨텍스트를 만들어 모든 테스트가 공유
스프링 테스트 컨텍스트 프레임워크 적용하기
@Autowired Application context;
@RunWith
@ContextConfiguration
**@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {DaoForTest.class})
@DirtiesContext
public class UserDaoTest {
@Autowired
private ApplicationContext context;**
@RunWith
- JUnit 프레임워크의 테스트 실행 방법을 확장할 때 사용하는 애노테이션
- SpringJUnit4ClassRunner
- JUnit 용 테스트 컨텍스트 프레임워크 확장 클래스
- 테스트 진행 중 사용할 애플리케이션 컨텍스트를 만들고 관리
@ContextConfiguration
- 자동으로 만들어줄 애플리케이션 컨텍스트 설정 파일 위치 지정
⇒ context 변수에 애플리케이션 컨텍스트가 존재한다.
- 각각의 테스트는 동일한 애플리케이션 컨텍스트를 공유한다.
how?
- JUnit 확장 기능은 테스트 실행 전 딱 한번 애플리케이션 컨텍스트를 만든다.
- 테스트 오브젝트가 만들어질 때마다 애플리케이션 컨텍스트 자신을 테스트 오브젝트 특정 필드에 주입한다.