2
我該如何編寫這個文件,以便它在沒有硬編碼的情況下通過1
。雞和雞蛋。RSpec should_receive宏,其中包含需要測試的內容的ID
@sender = Factory(:user)
@receiver = Factory(:user)
mailer = double
mailer.should_receive(:deliver)
Mailer.should_receive(:email).with(1, @sender.id, @receiver.id).and_return(mailer)
# This will create an object with id #1 to make this test pass
@object = Object.create(:sender => @sender, :receiver => @receiver)
我覺得rspec的使用應該-的匹配,以驗證「should_receive」預期參數,否則東西像什麼()不能工作?我的想法是編寫一個自己的參數匹配器,它匹配數據庫中的第一個id。 –
雖然這仍然是一個抽象的問題,但我在我的具體問題中解決了這個問題。我在'test.rb'中調用了交付,並使用'ActionMailer :: Base.deliveries'來測試郵件。 – maletor