테스트 주도 개발(TDD)을 위한 JUnit

June Lee·2021년 2월 17일
0

Test

목록 보기
1/2

JUnit은 자바에서 테스트 주도 개발(Test-Driven Development)을 하기 위한 프레임워크이다. JUnit 프레임워크를 이용하면 unit 단위로 프로그램이 정상적으로 동작하는지 간단하게 확인할 수 있으며, 이를 테스팅 클래스로 따로 관리해줄 수 있다는 장점이 있다.

JUnit을 이용한 단위 테스트를 위해서는 테스트 대상 클래스 외에, JUnit Test Case 클래스가 필요하다.

그리고 아래와 같이 테스트의 대상이 되는 클래스를 설정해준다.

테스트 케이스 클래스의 초기 모습은 아래와 같다.

fail()은 테스트 실패를 일으키는 메서드이다.
테스트를 위해서는 Assert 클래스의 메서드들을 이용해야한다. Assert 클래스들은 데이터 검증을 하기 위한 다양한 메서드들로 구성되어있으며, 예상 값과 클래스에서 받은 값이 일치하지 않으면 AssertionError를 발생시키고, JUnit view에 failure라고 뜬다. 반대로 예상 값과 일치한 경우는 success로 처리된다.

테스트 예시 코드는 아래와 같다.

실행 결과는 다음과 같다. 단순히 성공 실패 여부 뿐만 아니라 실행 시간도 확인할 수 있고 FailureTrace를 통해 어떤 부분에서 AssertionError가 발생했는지 확인할 수 있다.

위에서 사용한 assertEquals(두 매개변수의 값이 같으면 성공, 다르면 실패) 외에도 Assert 클래스에는 다양한 메서드들이 존재하는데, 그 예시는 아래와 같다.

assertSame(); // 두 매개 변수 값이 JVM 메모리 주소까지 같으면 성공
assertNotSame();
assertNull(); // 매개 변수 값이 Null이면 성공
assertNotNull(); // 매개 변수 값이 Null이 아니면 성공
assertTrue();
assertFalse();
asserArrayEquals(array1, array2);
profile
📝 dev wiki

0개의 댓글