3

私はモックされたActiveRecordモデルに期待を設定しようとしています。私は次の例を作成しました。これは、見つけたドキュメントに基づいて合格するはずです。

it "should pass given the correct expectations" do
  payment = mock_model(Payment)
  payment.should_receive(:membership_id).with(12)
  payment.membership_id = 12
end

「...Mock'Payment_1004'が予期しないメッセージ:membership_id = with(12)を受信しました」というエラーで失敗しています。

私はモックフレームワークをテストしていることに気づきました。期待を設定する方法を理解しようとしているだけです。

4

2 に答える 2

10

間違ったメソッド名に期待値を設定しています-:membership_idは「ゲッター」、:membership_id=は「セッター」です。正しい行は次のようになります。

payment.should_receive(:membership_id=).with(12)
于 2009-07-14T18:06:12.790 に答える
1

ここでのもう1つの便利な「アウト」は、idキーを気にしない場合、次のようなことを行うことです。

mock_model(Payment,:[]= => nil, :save=> nil)

...または多分ただ

mock_model(Payment,:[]= => nil)

リール

于 2010-10-04T14:26:03.767 に答える