2012-01-04 3 views
1

지금까지 레일/몽고드 DB 모델을 테스트하기 위해 데이터를 거의 사용하지 않는 실제 모델 (3 .. 5)을 사용하여 모든 사례를 실제에 적용하려고했습니다.tdd/bdd가있는 mongoid 모델을 테스트하는 가장 좋은 방법은 무엇입니까?

이미 오이 BDD 외부 테스트 해요,하지만 난 보통 지금 Rails.logger.info

하지만 통해 레일 로거 필드의 값을, 아주 작은 및 정착물 및 모형없이 RSpec에를 사용하여 실제 사례를 prefearing 및 인쇄, 이전 중지 모델이 더 복잡해지면 나는 너무 지긋 지긋합니다.

tdd/bdd가있는 레일에서 mongoid 모델을 테스트하는 가장 좋은 방법은 무엇입니까? 어디에서 시작할 수 있습니까?

답변

1

이전에 Mongoid와 함께 작업 한 적이 없지만 ActiveRecord를 사용하는 모델과 다른 모델을 테스트하는 이유가 무엇입니까? 필자는 개인적으로 모델의 외부 API (동작)만을 테스트하고 설비 또는 테스터 내부 데이터 또는 개인 메소드에 의존해서는 안되는 단위 테스트를 위해 RSpec에 의존합니다. 당신은 mocks & 스텁을 사용하여 많은 경우 DB 지속성을 피할 수 있습니다.

모델이 너무 복잡해지면 Mongoid에 의존하지 않는 다른 클래스에 OOP 방식을 적용하고 일부 논리를 추출하는 것이 좋습니다. 당신은이 경우에 많은 선택권이 있고 더 많은 것을 배우고 싶다면 Refactoring Ruby을 적극 추천합니다.

+0

감사합니다. Beerlington, 나중에 확인해 보겠습니다. –

+0

WTF StackOverflow는 아마존 추천을 통해 내 링크를 임의로 고발했습니다. : - | –

+0

그래, 나쁜 놈 ... 어쨌든 선언되었습니다 : "Trilogy 사이트에 게시 된 모든 아마존 북 링크는 자동으로 우리의 제휴 링크를 추가하기 위해 다시 쓰여질 것입니다."http://meta.stackexchange.com/questions/26964/auto- insert-stack-overflow-affiliate-all-amazon-book-links –

관련 문제