- ① @Test 어노테이션이 테스트 메소드에 붙임
- ② public 접근자
- ③ 리턴 값이 void형.
- ④ 파라미터가 없다는 조건을 지켜함
스프링의 테스트 컨텍스트 프레임워크의 JUnit 확장기능 지정
JUnit은 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 기본으로
하기에 각각의 테스트 클래스마다 매번 오브젝트를 생성한다.
그러므로 각각의 테스트 클래스에 지정한 ApplicationContext도
매번 새로 생성이 되는 상황이 발생된다. 그러나 @RunWith annotation은
각각의 테스트별로 오브젝트가 생성이 되더라도 싱글톤의 ApplicationContext를 보장하는 역할을 한다.
Tip : @RunWith() 애노테이션 대신 클래스에 AbstractJUnit4SpringContextTests를 상속받아 할 수도 있다.
@ContextConfiguration() : 참고할 AppcationContext 위치지정 설정파일 이름을 따로 지정하지 않으면 테스트 클래스파일이 있는 패키지 내에서 클래스이름+"-context.xml"이 디폴트로 사용된다.
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
@ContextConfiguration(locations = {"/aaa.xml"})
@ContextConfiguration("applicationContext.xml")
setUp() :클래스 초기화 할때 사용
tearDown(): 클래스 종료시 사용
@Before : 테스트 메소드가 수행되기 전에 매번 실행
@After : 테스트 메소드가 수행된 후에 매번 실행
@BeforeClass :테스트 클래스의 메소드가 수행되기 전에 수행(한번만)
@AfterClass :테스트 클래스의 메소드가 수행된 후에 수행(한번만)