JUnit4의 테스트 클래스 작성에 대한 가이드입니다.

 

 


 

 

테스트 클래스는 POJO(Plain Old Java Object) 기반으로 작성되며,

세 가지 어노테이션을 제공합니다.

 

  • @Before :
    매 단위 테스트 메서드 수행 전, 전처리 수행합니다.
    단위 테스트에 필요한 자원 객체를 생성하는 작업을 수행합니다.

  • @Test :
    단위 테스트 메서드임을 JUnit에게 알려줍니다.
    추가적인 어노테이션의 기능으로 timeoutexpected가 있습니다.

  • @After :
    매 단위 테스트 메서드 수행 후에, 후처리 수행합니다.

    전처리에서 생성 및 획득한 자원 객체를 해제하는 작업을 수행합니다.

 

 

여기서 단위 테스트는 1개의 기능을 테스트하는 것을 의미합니다.

 

 

기본적인 테스트 클래스 세팅은 다음과 같습니다.

 

@Log4j2
@NoArgsConstructor
public class AppTest  {
	
	
    @Before
    public void setUp() {
        // 전처리(Pre-processing), Optional
        log.trace("setUp() invoked.");
    } // setUp
	
    @Test
    public void testXXX() {
        log.trace("testXXX() invoked.");
    } // testXXX
	
    @After
    public void tearDown() {
        // 후처리(Post-processing), Optional
        log.trace("tearDown() invoked.");
    } // tearDown

} // end class

 

 

여기서 주의할 점은,  테스트 클래스는 반드시 기본 생성자를 가져야 합니다.

저는 Lombok을 사용하고 있으므로, 어노테이션을 통해 생성하였습니다.

필요에 따라 필드 생성도 가능합니다.

 

테스트 클래스를 실행하면 JUnit View에 테스트 결과를 보여줍니다.

 

 


 

 

만약 전처리/후처리/단위 테스트 메서드들 중 메서드 블록안에서 예외 발생 가능한 코드가 있다면, 반드시 예외 처리없이 위로 던져야 합니다.

그 이유는 위로 던지면 JUnit Test Framework가 받게 되고, JUnit은 받은 예외를 통해 테스트 통계 자료를 산출하기 위함입니다.

 

즉, 컴파일러가 오류을 체크했다면 throws Exception를 통해 오류를 모두 위로 던지면 됩니다.

 

 

 

 

 

 

 

'Spring boot > Maven' 카테고리의 다른 글

Maven Dependency List  (0) 2023.09.01
JUnit5  (0) 2023.08.23
Maven dependency 추가하기  (0) 2023.08.21
pom.xml(메이븐 설정파일)  (0) 2023.07.28

+ Recent posts