2013-04-10 4 views
0

이 질문에 이미 답변을 드려 죄송합니다. 저는 Unit Testing을 처음 접했고 조롱을하기 위해 Rhino를 사용하고 있습니다.Rhino 모의로 데이터베이스 객체 조롱하기

그래서 문제는 ... 테스트 할 메서드가 있고 그 메서드는 입력 매개 변수를 기반으로 데이터를 검색하고 데이터 테이블로 반환한다고 가정합니다.

또한 어떤 저장 프로 시저를 호출해야하는지와 매개 변수 집합을 알아내는 계산을 수행합니다.

문제는 내가 mock 객체를 사용하여 메소드를 호출 할 때 ... 객체가 instanse로 설정되지 않았기 때문에 데이터베이스 검색 라인의 날짜에서 오류가 발생합니다. 그것은 우리가 조롱하고 있기 때문에 데이터베이스에서 데이터를 다시 검색하지 않기 때문에 예상됩니다.

그래서 어떻게 할 수 있습니까?

답변

1

마치 좋은 시간 인 Repository Pattern 인 것 같습니다.

소개하면 DB에 쿼리를 생성하는 로직과 DB에서 데이터를 읽는 로직이 리포지토리에 캡슐화됩니다.

이 경우 테스트에서 저장소를 조롱하거나 스터핑 할 수 있으며 작성 테스트 DB없이 저장소를 사용하는 모든 클래스를 단위 테스트 할 수 있습니다.

리포지토리 모의는 들어오는 매개 변수가 올바른지 여부를 확인합니다.
리포지토리 스텁은 각 특정 테스트에 필요한 테스트 관련 데이터를 반환합니다.