Я пытался использовать это Как проверить электронную почту Pony в приложении Sinatra, используя rspec? , чтобы протестировать приложение Rails 3.1, отправляющее электронную почту.Отправка работает нормально, но мне сложно заставить тесты работать.Вот что у меня есть ...
spec / spec_helper.rb
config.before(:each) do
do_not_send_email
end
.
.
.
def do_not_send_email
Pony.stub!(:deliver) # Hijack to not send email.
end
и в моем users_controller_spec.rb
it "should send a greeting email" do
post :create, :user => @attr
Pony.should_receive(:mail) do |params|
params[:to].should == "nuser@gmail.com"
params[:body].should include("Congratulations")
end
end
и я получаю это ...
Сбои:
1) После успешного создания POST UsersController следует отправить приветственное письмо. Ошибка / Ошибка: Pony.should_receive (: mail) do | params |(Пони) .mail (любые аргументы) ожидается: 1 раз получил: 0 раз # ./spec/controllers/users_controller_spec.rb:121:in `блок (4 уровня) в '
Похоже, пони неполучаю электронное письмо, но я знаю, что настоящее электронное письмо отправляется.
Есть идеи?