2013-10-07 2 views
1

데이터베이스 트랜잭션이 포함 된 junit 테스트 케이스를 작성하는 방법과 출력에 대해 잘 모르는 경우 ... 여러 조건을 기반으로 쿼리 한 후 쿼리 또는 ID에서 계산하는 방법을 설명합니다. count> 0 또는 Id> 0인지 확인하는 경우 유효한 비교입니까?알 수없는 출력을 위해 JUnit 테스트 케이스를 작성하는 방법

+6

데이터베이스를 조명기로 초기화하거나 조롱하세요. –

+0

일반적으로 알 수없는 상태 일 수있는 * 실제 * 데이터베이스에 의존하는 단위 테스트가 없습니다. –

답변

3

테스트의 전체 개념은 실제 상태를 예상과 일치시키는 것에 의존합니다. 이것은 기대치가 잘 정의되고 사전에 알려짐을 의미합니다.

트랜잭션을 확인하려고하는 것 같습니다.이 경우 데이터를 시뮬레이트해야합니다.

미리 정의 된 모의 데이터 (항상 동일한 데이터)로 시작할 수 있으므로 코드가 기존 데이터를 쿼리하고 반환 될 것으로 예상되는 것을 정확히 알 수 있습니다.

또는 테스트 시작시 무작위 데이터를 생성하고 테스트 플로우를 작성하여 쿼리의 결과가 무엇인지 항상 알 수 있습니다.

이러한 접근 방식은 거의 동일하지만 두 번째 방식은 동일한 스키마/데이터베이스에서 병렬로 테스트를 실행해야 할 때 편리합니다. 반면에, 그러한 테스트의 코딩은 다소 까다로울 수 있습니다.

희망이 있습니다.

관련 문제