2

私は次のコードを持っています:

Group.where('name ~* ?', params[:name]).first

その場合、メソッドをスタブwhereする方法は?

Group.stub(:where).and_return(mock_model(Group, name: "SomeName"))

エラーの原因:

Mock "Group_1001" received unexpected message :first with (no args)
4

2 に答える 2

8

あなたの場合、に応答するものを返す必要がありますfirst。配列は良い選択です。

Group.stub(:where).and_return([mock_model(Group, name: "SomeName")])
于 2013-03-13T11:05:25.423 に答える
8

を使用して、との両方をstub_chainスタブしてから、オブジェクトを返すことができます。wherefirst

Group.stub_chain(:where, :first).and_return(mock_model(Group, name: "SomeName"))
于 2013-03-13T11:16:27.877 に答える