2009-09-07 5 views
6

시나리오는 다음과 같습니다. 내 주문 모델에는 지불 URL을 검색하기 위해 원격 지불 게이트웨이에 접속하는 after_create가 있습니다. 내 오이 테스트에서는이 작업을 수행하고 싶지 않지만 임의의 URL을 반환합니다. 나의 현재 오이 테스트는 다음과 같습니다오이 테스트에서 모의 ​​/ 스터브 방법

제품 "제품 X가"이 주어 가 그럼 난 리디렉션해야한다 "지금 주문"내 자격 증명 를 입력 내가 클릭하면 "임의의 URL"

에 문제는 내 주문 모델이 URL을 올바르게 설정하고 원격 지불 게이트웨이에 연결하지 않는지 확인하는 것입니다.

답변

3

features/support/env.rb 필자는 임의의 URL을 설정하기 위해 내 주문 모델을 원숭이 패치했습니다. 이것은 모카 (Mocha) 또는 다른 것으로도 가능할 수 있지만,이 경우에는 요점이 없습니다. 이뿐만 아니라 다른 사람을 위해 도움이

Then /^I should be redirected to the payment gateway$/ do 
    response.status.should eql("302 Found") 
    response.location.should eql(Order.last.payment_url) 
end 

희망 : 내 단계에서

는이 같은 올바른 리디렉션에 대한 응답을 확인할 수 있습니다. 나는 아직도이 목표를 성취 할 수있는 더 나은/깨끗한 방법이 있는지 알고 싶습니다.

1

내가 올바르게하려는 것을 이해하면 FakeWeb을 살펴보십시오.

11

위키에는 tips on stubbing도 있습니다.

+0

[업데이트 된 링크] (https://github.com/cucumber/cucumber/wiki/mocking-and-stubbing-with-cucumber) – Jared