JUnit이란?
TDD 방법론에 의해 자바에서 테스트 코드를 작성할 때 사용하는 서바 사이드 테스트 도구이다.
JUnit은 단정문(테스트의 성공과 실패를 판별하는 문장)인 assert 메소드를 이용하여 테스트를 진행하며 예상되는 결과와 실제 결과를 손쉽게 비교하여 코드가 정상적으로 수행되는지 확인할 수 있다.
그리고 JUnit을 통해 테스트 코드를 작성해 놓으면 자동화 테스트가 가능하기 때문에 수동으로 테스트하는 번거로운 상황을 피할 수 있으면, 테스트 코드가 테스트 이력이 남는 하나의 문서가 되기 때문에 테스트 케이스를 따로 만들 필요가 없다.
JUnit의 특징
- 단위 테스트 Framework 중 하나
- 단정문으로 테스트 케이스의 수행 결과를 판별함.(assertEquals(예상 값, 실제 값))
- 어노테이션으로 간결하게 지원함
- 결과는 성공(녹색), 실패(붉은색) 중 하나로 표시
JUnit Maven 설정하기
pom.xml에서 아래와 같이 코딩한다.
JUnit 단정문
단정문은 여러가지가 있지만 대표적인 단정문은 아래 5개를 들수 있다.
- assertArrayEquals(a,b) : 배열 a와 b가 일치함을 확인
- assertEquals(a,b) : 객체 a와 b의 값이 같은지 확인
- assertSame(a,b) : 객체 a와 b가 같은 객체임을 확인
- assertTrue(a) : a가 참인지 확인
- assertNotNull(a) : a객체가 null이 아님을 확인
JUnit 어노테이션
- @Test
@지정된 Method가 테스트 Method라는 것을 알릴 때 사용
지역변수로 생성된 객체는 @Test Method가 호출될 때마다 생성된다.
- @Test(expected=RuntimeException.class)
Test Method 안에서 발생될 것으로 예상되는 예외를 지정
- @Test(timeout=100)
Test Method의 수행시간이 지정된 timeout millisecond를 넘어서면 실패
- @Before
@Test Method가 실행되기 전에 반드시 한 번 수행되는 Method를 지정
@Test 메소드에서 사용되는 객체들을 셋팅할 때 사용하는 메소드이다.
- @After
@Test Method가 실행된 후에 반드시 한번 수행되는 Method를 지정
JUnit 테스트 코드
# 테스트 시나리오.
1. 테스트를 위한 자바 파일을 생성
2. JUnit 테스트 코드를 작성 후 JUnit 메소드를 실행.
먼저 Package Explorer의 화면은 아래와 같다.
Maven으로 프로젝트를 만들면 test 폴더가 자동으로 생성되는데 거기에 Test파일을
생성하면 된다. Test 파일명은 테스트하고자 하는 자바 파일 이름+Test로 명명한다.
아래는 테스트할 단순한 자바 코드이다.
아래는 테스트 코드와 Junit 테스트 실행 방법이다.
성공을 할 경우에는 초록색 바가 보여지는 결과 창이 나온다.
실패할 경우에는 빨간색 바가 보여지는 결과 창이 나오며, Failure Trace영역에는
테스트 실패한 파일의 위치를 가리킨다.
더 많은 내용을 보시려면 아래를 참고하세요.
블로그의 다른 글
'[개발] Test' 카테고리의 다른 글
JUnit Test code setup (0) | 2023.11.13 |
---|---|
과연 TDD를 제대로 알고 있는 걸까? (0) | 2022.03.27 |
Service, Controller 테스트 (0) | 2018.08.05 |
TDD(Test Driven Development) (0) | 2018.01.23 |
JUnit - initializationError 해결하기 (6) | 2017.12.09 |