Saat menulis tes RSpec, saya mendapati diri saya menulis banyak kode yang terlihat seperti ini untuk memastikan bahwa sebuah metode dipanggil selama pelaksanaan tes (demi argumen, anggap saja saya tidak bisa benar-benar menginterogasi status objek setelah panggilan karena operasi yang dilakukan metode tidak mudah untuk melihat efeknya).
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
Yang ingin saya ketahui adalah: Apakah ada sintaks yang lebih bagus yang tersedia dari ini? Apakah saya kehilangan beberapa RSpec funky yang akan mengurangi kode di atas menjadi beberapa baris? should_receive
terdengar seperti itu harus melakukan ini tetapi membaca lebih lanjut kedengarannya seperti itu tidak persis seperti itu.
should_receive
, jadi saya pikir pertanyaan itu akan membantu.