실제로 actionmailer 요청을 테스트하는 방법에 대해 궁금한 점은 실제로 rspec의 delayed_job que로 전송됩니다.Rails/Rspec : delayed_job 메일 테스트
나는 꽤 간단하다고 생각했지만, delayed_job 큐는 증가하지 않는 것 같습니다. 아래 코드 :
컨트롤러 :
def create
@contact = Contact.new(params[:contact])
if @contact.save
contactmailer = ContactMailer
contactmailer.delay.contact_message(@contact)
redirect_to(contacts_url)
else
render :action => "new"
end
사양 :
이it "queues mail when a contact is created" do
expectedcount = Delayed::Job.count + 1
Contact.stub(:new).with(mock_contact()) { mock_contact(:save => true) }
post :create, :contact => mock_contact
expectedcount.should eq(Delayed::Job.count)
end
전에 컨트롤러에 대한 호출 후 두, 지연된 :: Job.count 내가 복용 해봤 0을 반환 조건부 컨트롤러에서,하지만 난 여전히 증가 지연 작업 수를 얻을 수 없습니다. 감사
어떤 제안 - 응원
나는이 방법을 좋아한다. 완전성을 위해 지연된 작업이 delayed_jobs 테이블에 추가되는 것을 (별도로) 테스트해야합니다. – brittohalloran
이것은 매끄러운입니다 - 감사합니다! – jpwynn