RSpecテストを書くとき、テストの実行中にメソッドが確実に呼び出されるようにするために、次のようなコードをたくさん書いていることに気づきました(引数として、状態を実際に問い合わせることはできないとしましょう)メソッドが実行する操作はその効果を確認するのが容易ではないため、呼び出し後のオブジェクトの)。
describe "#foo"
it "should call 'bar' with appropriate arguments" do
called_bar = false
subject.stub(:bar).with("an argument I want") { called_bar = true }
subject.foo
expect(called_bar).to be_true
end
end
私が知りたいのは、これより優れた構文はありますか?上記のコードを数行に減らすファンキーなRSpecの素晴らしさを逃していますか?should_receive
それはこれを行うべきであるように聞こえますが、それをさらに読むと、それは正確にそれがすることではないように聞こえます。
should_receive
ので、その質問が役立つと思いました。