0

次のようなテストを書きたいです。

account = Account.find(1)
@controller.should_receive(:authorize!).with(:create, instance_of(User, :account_id => account.id))

(私のコントローラーでカンカンジェムをテストする正確な例)

:account_id => account.idその部分が無効であることを知っています。

私の質問はここにあります:

どうすれば呼び出すことができますinstance_ofが、同時にインスタンスの属性をテストして特定の値を持たせることができますか?

これが明確であることを願っています。それ以外の場合は、私に知らせてください、どうすればそれをより明確にすることができますか?

前もって感謝します

パナヨティス

4

3 に答える 3

1

何をテストしようとしていますか?コントローラが適切なインスタンスをロードし、適切なインスタンスを:authorize!? はいの場合、次のようなもの:

Account.should_receive(:find).returns(account))
@controller.should_receive(:authorize!).with(account)

仕事をするだろう

于 2012-08-20T11:24:58.950 に答える
0

予想される引数をより詳細に制御するためにブロックを使用できます。詳細: Argument matchers

于 2012-08-20T11:34:05.203 に答える