私はrspec-mocksを読んでいて、Message Expectations と少し混乱しました。
メッセージの期待は、サンプルが終了する少し前にテスト ダブルがメッセージを受信するという期待です。メッセージが受信された場合、期待は満たされます。そうでない場合、この例は失敗します。
validator = double("validator") validator.should_receive(:validate).with("02134") zipcode = Zipcode.new("02134", validator) zipcode.valid?
したがって、私の理解では、ダミーオブジェクトを作成し、引数を使用してメッセージ(ActiveModelからの検証)を「受信」するように指定します02134
。ある時点で成功した場合、このテストはパスします。
私の質問は:
なぜに合格できるのです
validator
かZipcode.new
?あなたのアプリケーション コードは、追加の引数 (テスト ダブル) を受け取ることを想定していますか?テストダブルの「メッセージを受信する」とは正確にはどういう意味ですか?
validate
メッセージ(この場合はメソッド)によって呼び出されるということですか?
ありがとう!