0

Rails 3.2.11、Mac OS X Mountain Lion、Rspec を使用しています

これが私の問題です:

作成時に情報をAPIに送信するモデルがあります。問題なく動作しますが、rspec でテストすると、テスト データも api データベースに送信されます。コードは次のとおりです。

モデル

after_create :send_to_api

def send_to_api
  api = APIModule.initialize_api(params)
  api.send_data(self.attribute1,self.attribute2)
  #connect to api, send to data to api
end

テストでこれを試しました:

Model.any_instance.stub(:send_to_api).and_return(true)

しかし、うまくいきませんでした。テストで上記のモデルを作成するたびに、それらをデータベースに送信します。どんな助けでも大歓迎です。よろしくお願いします!

4

1 に答える 1

-1

これをまだ理解しているかどうかはわかりませんが、mocha をインストールすると、次のことが可能になります。

Model.any_instance.stubs(:send_to_api).returns(true)

ちょうどそれをテストし、それは動作します

于 2013-03-27T16:45:04.343 に答える