32

FeedItem :: populate_from_friend_to_userがユーザークラス内で呼び出されているかどうかを確認できますか?

    it "should auto populate feed after user.add_friend" do
      @user.add_friend(@friend1)
      @user.should_receive('FeedItem::populate_from_friend_to_user').with(@friend1, @user)
    end

上記のコードで私は得ます:

undefined method `populate_from_friend_to_user' for :FeedItem:Symbol
4

2 に答える 2

50

メソッドが呼び出された場合でも、メソッドがどこで呼び出されたかを知る必要はありません。メソッドが呼び出されたかどうかを知っているだけです。

RSpec3より前

 it "should auto populate feed after user.add_friend" do
    FeedItem.should_receive(:populate_from_friend_to_user).with(@friend1, @user)
    @user.add_friend(@friend1)
 end

RSpec 3では、構文は次のとおりです。

expect(Object).to receive(:method).with(params)
于 2010-11-05T13:16:43.763 に答える
10

これはrspec2でのみ機能することを忘れないでください。rspec3 uの場合は、

expect(@user).to receive(:your_method)

https://www.relishapp.com/rspec/rspec-mocks/v/3-0/docs/message-expectations

于 2014-03-27T11:33:45.050 に答える