我有一個簡單的測試,它似乎有不同的行爲取決於我是否使用明確的主題或不。RSpec暗示主題似乎失敗,明確的主題作品
context "successful validation" do
subject(:invitation) {invitations(:emmet_invite)}
after do
invitation.send_voucher
end
it "calls hotel_booked?" do
invitation.should_receive(:hotel_booked?).and_return(true) #works
end
it {should_receive(:hotel_booked?).and_return(true)} #fails
end
這裏有什麼問題?
我花了很長時間才弄清楚你要在這裏測試什麼,因爲你已經把測試的主要動作埋在了「之後」的塊中。這可能是品味的問題,但我認爲在這種情況下,通過這樣做獲得的兩條或三條線是值得的。 –
我明白你的觀點。我只是決定嘗試這種方式,因爲單線程更適合代碼中的其他測試(由其他開發人員製作)。 –