DAO를 테스트 할 때 어떤 부분에서 문제가 발생했는지 한번에 알기 어렵다.
작은 단위의 테스트
단위 테스트
단위 테스트 : 작은 단위의 코드에 대해 테스트를 수행하는 것
- UserDaoTest 코드는 DAO라는 기능과 DB를 범위로 잡고 테스트하는 것
단위 테스트를 하는 이유
- 개발자가 만든 코드가 의도대로 작동하는지 확인하기 위함.
자동 수행 테스트
-
UserDaoTest 코드는 main() 하나만 실행해도 테스트 전 과정이 진행된다.
→ 이처럼 테스트를 자동으로 수행해주는 코드가 좋음
-
애플리케이션을 구성하는 클래스보다는 테스트 클래스를 따로 만드는 것이 좋다.
→ 나중에 프로그램 복잡해지면 테스트 코드를 넣기 애매해짐.
점진적 개발과 지속적 개선을 위한 코드
- 테스트를 통해서 기능에 확신을 갖고, 확신이 있는 코드에 기능을 추가하는 과정을 통해서 점진적인 개발이 가능하다.
UserDaoTest의 문제점
UserDaoTest의 단점은 다음과 같다.
- 수동 작업이 필요함
- add로 등록한 User 정보를 DB에서 get으로 가져올 때, add로 입력한 값과 get으로 가져온 값이 일치하는지 확인해주지 않음.
- 실행 작업이 번거로움
- DAO가 수백 개라면, 테스트 코드를 수백 번 실행해야 한다.