メッセージの期待により、テスト対象のオブジェクトが正しいメッセージを送信しているかどうかを確認できますが、ターゲット オブジェクトが実際にこの呼び出しに応答できるかどうかは確認できません。一方、統合テストでは、すべてが実際に機能すること、つまり、呼び出しが正しく行われ、理解され、実行されていることを確認します。
テスト対象のオブジェクトが正しいメッセージを送信し、受信オブジェクトがこれらのメッセージに応答できることを確認するなど、妥協点はありますか? これにより、完全な統合テストを実行せずに、受信オブジェクトが変更されたときにテストが中断されることが保証されます。本質的に:
target.should_receive(:my_method) && target.should respond_to(:my_method)
のようなカスタムマッチャーを使用する
target.should_get_message(:my_method)
これは、さまざまなアクションを調整するだけのグルー クラスに役立つと思います。
それについてどう思いますか。それは実行可能なアプローチですか?