JUnit
JUnit은 자바용 단위 테스트 작성을 위한 산업 표준 프레임워크다.
JUnit assert 주요 메서드 및 사용예시
assert 메서드 | 설명 |
assertArrayEquals(a, b); | 배열 A와 B가 일치함을 확인한다. |
assertEquals(a, b); | 객체 A와 B가 일치함을 확인한다. |
assertSame(a, b); | 객체 A와 B가 같은 객임을 확인한다. assertEquals 메서드는 두 객체의 값이 같은가를 검사는데 반해 assertSame메서드는 두 객체가 동일한가 즉 하나의 객인 가를 확인한다.(== 연산자) |
assertTrue(a); | 조건 A가 참인가를 확인한다. |
assertNotNull(a); | 객체 A가 null이 아님을 확인한다. |
JUnit Annotation 사용 예시
- 스프링 프레임워크 기반의 JUnit 테스트를 위한 세팅
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={“file:WebContent/WEB-INF/classes/applicationContext*.xml”}) |
Spring 기반의 테스트 코드 작성을 위해 테스트 클래스 상단에 @RunWith(SpringJUnit4ClassRunner.class) 구문을 추가한다.
Spring 프레임워크 context 파일을 테스트 수행시에도 동일하게 로딩하기 위해 @ContextConfiguration(locations={“file:WebContent/WEB-INF/classes/applicationContext*.xml”}) 과 같은 형태로 프로젝트의 스프링 설정파일을 설정해 준다.
- 메서드 수행시간 제한하기
@Test(timeout=5000) |
단위는 밀리초이며 이 메서드가 결과를 반환하는데 5,000밀리초가 넘긴다면 테스트는 실패한다.
- Exception 테스트
@Test(expected=RuntimeException.class) |
해당 클래스는 RuntimeException이 발생해야 한다. 만약 테스트에서 RuntimeException이 발생하지 않을 경우 실패한다.
- 테스트 건너뛰기
@Test(timeout=5000) @Ignore(value=”여기는 테스트 안할거야”) |
@Ignore 어노테이션을 추가하면 해당 메서드는 테스트를 건너뛰게 되며 JUnit4는 성공 및 실패 개수와 함께 건너뛴 테스트 수도 포한된 결과 통계를 제공한다.
- 다양한 테스트 방법을 확인하기 위해서는 아래의 사이트를 들어가보자앙
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev:tst:test_case