다음과 같은 모카 모의가 효과가 있습니다.모카 모의 모의 제거 방법?
test.rb 파일에서:
setup do
Date.stubs(:today).returns(Date.new(2011, 7, 19))
Time.stubs(:now).returns(Time.new(2011,1,1,9,0))
end
문제는 타이밍이 시험 깨진 것입니다. 시험 후 날짜와 시간 개체가 여전히 조롱하는 실행
Finished in -21949774.01594216 seconds.
내가 다음에 추가. (!) :
teardown do
Date.unstubs(:today)
Time.unstubs(:now)
end
이 각 테스트에 대한 다음과 같은 오류가 발생합니다 : WARNING: there is already a transaction in progress
언 스텁하는 것이 적절한 방법입니까? 테스트 파일의 끝에서 또는 심지어 유닛 테스트 스위트의 끝에서 unstub하는 것이 더 좋습니까?
레일 작업 3.07 및 모카 0.9.12
감사합니다.
테스트 사이에 언 스타스 할 필요가 없습니다. 각 테스트는 처음부터 시작됩니다. "unstub"의 유스 케이스는 셋업의 일부로 스텁하는 테스트 그룹이 있다면 그 그룹의 테스트 중 일부는 스텁하지 않아야합니다. –
"언 스텁 (unstub)"이 아닌 "언 스텁 (unstub)"이 복수형 인 경우 : "언 스텁 (unstubs), 언 스토브 (unstubs)" 나는 모카의 동사 선택이 일관성이 없다고 생각한다. –