ruby-on-rails – 为什么电子邮件没有进入ActionMailer :: Base.
发布时间:2020-12-17 04:04:54 所属栏目:百科 来源:网络整理
导读:目前在我的开发环境中,在使用邮件后,我在ActionMailer :: Base.deliveries表中没有看到任何内容.我缺少一个设置吗? config / environments / development.rb:config.action_mailer.delivery_method =:test. 应用程序/邮寄者/ notifier.rb def send_email(
目前在我的开发环境中,在使用邮件后,我在ActionMailer :: Base.deliveries表中没有看到任何内容.我缺少一个设置吗?
config / environments / development.rb:config.action_mailer.delivery_method =:test. 应用程序/邮寄者/ notifier.rb def send_email(user) mail(:to => user.email,:subject => "Welcome to our website!") end 这些是我正在运行的测试: When /^I signup$/ do visit signup_path @user = FactoryGirl.build(:user) fill_in "user_email",:with => @user.email fill_in "user_password",:with => @user.password click_button "Join now" end Then /^I should receive a confirmation email$/ do email = ActionMailer::Base.deliveries.last email.subject.should == "Welcome to our website!" end 现在我收到以下错误,我应该收到确认电子邮件步骤: 谢谢! 解决方法
你得到的错误说电子邮件是零.换句话说,deliveries.last方法返回nil,因为其中没有电子邮件.
可能有很多原因……我假设您使用黄瓜作为测试机制? 1.验证“click_button”是否提交 您可以尝试输入puts或log语句.确保在运行黄瓜功能时实际打印.有时这些东西不起作用,因为前端逻辑不起作用,测试失败正确.换句话说,您希望被触发的控制器端点未被触发. 2.使用单元测试验证’send_email’是否正确 接下来,验证您实际上是在发送电子邮件.编写单元测试以验证其是否有效.这应该快速而容易地开始.那里有很多文章. 最后,并没有真正相关,但你可能想要使用email-spec,这应该提供一些不错的测试方法,所以你不必重新发明轮子. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |