Ruby on rails 如何在控制器规范中测试电子邮件是否已通过rspec2发送和传递?
我在控制器规格中测试我的视图。电子邮件也可以吗? 如果有的话,有人能给我举个例子吗 我目前正在进行集成测试: 我已经从测试注册和转换它的一些代码,这样我可以测试我的重置密码,但停留在电子邮件部分Ruby on rails 如何在控制器规范中测试电子邮件是否已通过rspec2发送和传递?,ruby-on-rails,rspec,ruby-on-rails-3.1,rspec2,rspec-rails,Ruby On Rails,Rspec,Ruby On Rails 3.1,Rspec2,Rspec Rails,我在控制器规格中测试我的视图。电子邮件也可以吗? 如果有的话,有人能给我举个例子吗 我目前正在进行集成测试: 我已经从测试注册和转换它的一些代码,这样我可以测试我的重置密码,但停留在电子邮件部分 describe "Reset Password" do describe "success" do it "should send the user reset password instructions" do lambda do visit res
describe "Reset Password" do
describe "success" do
it "should send the user reset password instructions" do
lambda do
visit reset_password_path
fill_in "password_reset[email]", :with => "mememe@gmail.com"
# click_button "password_reset_submit"
# response.should render_template :js => "window.location = '#{temp_success_path}'"
# end.should change(User, :count)
end
end
end
end
我已经设置了注册和重置密码的电子邮件。成功注册后,会向用户发送一封电子邮件,欢迎他们访问该网站。密码重置时,向用户发送一封包含密码重置说明的电子邮件
密码控制器的一部分:
class PasswordsController < ApplicationController
def new
end
def create
@user = User.find_by_email(params[:password_reset][:email])
@user.generate_and_store_password_reset_token && UserMailer.password_reset(@user).deliver if @user
redirect_to root_url, :notice => "Email sent with password reset instructions."
end
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
UserMailer.join_confirmation(@user).deliver
format.js { render :js => "window.location = '#{temp_success_path}'" }
else
format.html { render :new }
format.js { render :form_errors }
end
end
end
end
类密码控制器“已发送带有密码重置说明的电子邮件。”
结束
用户控制器:
class PasswordsController < ApplicationController
def new
end
def create
@user = User.find_by_email(params[:password_reset][:email])
@user.generate_and_store_password_reset_token && UserMailer.password_reset(@user).deliver if @user
redirect_to root_url, :notice => "Email sent with password reset instructions."
end
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
UserMailer.join_confirmation(@user).deliver
format.js { render :js => "window.location = '#{temp_success_path}'" }
else
format.html { render :new }
format.js { render :form_errors }
end
end
end
end
class UsersController“window.location='{temp\u success\u path}'”
其他的
format.html{render:new}
format.js{render:form_errors}
结束
结束
结束
结束
您将找到测试电子邮件的好解释。可能重复的