2017-04-02 1 views
1

DB 액세스 코드 테스트를 개선하고 싶습니다.DAO 테스트를위한 우아한 방법

저는 GAE 데이터 저장소를 사용하고 있습니다. Db 클래스를 테스트하기 위해 Backdoor Servlet을 사용했습니다. 궁금한 점이 있다면 DAO 테스트를보다 효율적이고 우아한 방법으로 수행 할 수 있을까요? 유닛 대 DAO 통합 테스트에 대한 의견이 있으십니까?

답변

0

데이터베이스가 설정되는 방법에 따라 약간 다릅니다. 이미 가지고있는 것과는 다른 몇 가지 옵션이 있습니다.

  • DAO에 대해 직접 단위 테스트를 작성할 수 있습니다. mockito를 사용하여 데이터베이스 호출을 모의 처리 할 수 ​​있습니다.
  • 데이터베이스와의 통합을 기록한 단위 테스트를 작성한 다음 두 번째 테스트를 실행할 때 다시 재생할 수 있습니다. 이것에 대한 betamax 라이브러리를 보라.
  • 실제 데이터베이스에 대해 단위 테스트를 실행할 수 있습니다. 이제 단위 테스트가 아니라 통합 테스트의 일종이되었습니다. 이 경우 데이터베이스에서 클린 상태를 시작하는 방법을 생각해야합니다.
  • 전체 시스템에 대해 통합 테스트를 실행할 수 있으며 코드 적용 도구를 사용하여 데이터베이스 코드 대부분을 수정해야합니다.

나는 데이터베이스와 다른 제 3 자 통합을 포함한 전체 통합 테스트를 선호합니다. 그리고 유닛에 대한 테스트는 실제 데이터베이스 호출과 관련이있는 것은 아니지만 반드시 테스트해야합니다. 그러나 언제나처럼 - 귀하의 설정은 다른 방향으로 당신을 인도 할 수 있습니다.