2009-09-07 7 views
6

シナリオは次のとおりです。 My Orderモデルには、支払いURLを取得するためにリモート支払いゲートウェイに連絡するafter_createがあります。私のキュウリ試験では、このアクションを実行するのではなく、任意のURLを返すことを望んでいます。私の現在のキュウリのテストは、次のようになります。キュウリ試験でモデルをモック/スタブする方法

製品「製品X」がある与えられた は、その後、私はリダイレクトされなければならない「今注文」私は私の資格情報 を入力して、私はクリックすると、「任意のURL」

へ問題は、私の注文モデルがURLを正しく設定し、遠隔支払いゲートウェイに連絡していないことを確認することです。

答えて

3

features/support/env.rb私は任意のURLを設定するために私の注文モデルを猿でパッチしました。これはモカや他の何かでも可能ですが、この場合にはポイントがありません。これは、同様に他の人のために役立ちます

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

wikiにはまた、tips on stubbingがあります。

+0

[更新リンク](https://github.com/cucumber/cucumber/wiki/mocking-and-stubbing-with-cucumber) – Jared

関連する問題