home
자바
home
2️⃣

2장 테스트

2.1.3 UserDaoTest의 문제점

수동 확인 작업의 번거로움
콘솔에 출력된 값을 직접 보고 판단해야 함
실행 작업의 번거로움

2.2 UserDaoTest 개선

2.2.1 테스트 검증의 자동화

⇒ 스스로 테스트 수행과 기대하는 결과에 대한 확인까지 해주는 코드로 된 자동화된 테스트
2.2.2 테스트의 효율적인 수행과 결과 관리
JUnit 테스트로 전환
JUnit은 프레임워크 → main() 매소드 X , 오브젝트를 만들어서 실행시키는 코드 필요 X
테스트 메소드 전환
main() 메소드(직접 제어) → 일반 메소드(IoC)
조건1. public 선언
조건2. @Test 라는 애노테이션 붙이기
검증 코드 전환
if/else ⇒ JUnit이 제공하는 방법을 이용해 전환
// if/else문으로 테스트 if (!user.getName().equals(user2.getName())){ ... } // ==> JUnit이 제공하는 assertThat이라는 스태틱 메소드를 이용해 변경 assertThat(user2.getName(), is(user.getName())); // 두 번째 if 문장 assertThat(user2.getPassword(), is(user.getPassword()));
Java
복사
assertThat() 메소드
첫 번째 파라미터의 값을 뒤에 나오는 매처matcher라고 불리는 조건으로 비교해서 일치하면 다음으로 넘어가고, 아니면 테스트가 실패하도록 만들어 줌
is()는 매처의 일종으로 equals()로 비교해주는 기능을 가짐
JUnit 테스트 실행
성공 ⇒ OK
실패 ⇒ FAILURES
기대한 결과가 아니면 AssertionError를 던짐

2.3 개발자를 위한 테스팅 프레임워크 JUnit

2.3.1 JUnit 테스트 실행 방법