8

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

编辑

我决定,这应该足够了:

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

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

4

2 回答 2

4

你看过为 Devise 编写的测试吗?

https://github.com/plataformatec/devise/blob/master/test/mailers/confirmation_instructions_test.rb

于 2013-06-04T11:04:56.440 回答
3

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

it 'sends a confirmation email' do
  user = FactoryGirl.build :user
  expect { user.save }.to change(ActionMailer::Base.deliveries, :count).by(1)
end
于 2015-10-06T20:30:45.737 回答