RSpec和测试Devise的邮件

时间:2013-06-04 11:02:44

标签: ruby-on-rails rspec devise tdd mailer

我在Devise中发送确认电子邮件时遇到了一些问题。这就是我想为此功能编写测试的原因。当我不创建自己的邮件时,我怎么能这样做?

修改

我决定,这应该足够了:

it 'should send an email' do
  user
  put :complete, params
  user.send(:send_confirmation_notification?).should == true
end

如果我错过了什么,请告诉我。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

如果您想进行更明确的测试并且实际测试电子邮件是通过RSpec发送的,那么这对我有用。

it 'sends a confirmation email' do
  user = FactoryGirl.build :user
  expect { user.save }.to change(ActionMailer::Base.deliveries, :count).by(1)
end