我正在构建一个实现忘记密码功能的 Rails 应用程序。我需要使用 RSpec 为其编写测试用例。我对 RSPEC 非常陌生,并且从教程和截屏视频中了解了 rspec 如何工作的基本概念。但我不确定如何为控制器测试它。在我的控制器方法中,如果我从数据库中检索用户,那么我将如何使用 rspec 对其进行测试。我是否提供用于测试 rspec 的虚拟数据。?请在下面找到示例。
在 Usercontroller.rb 中
def forgot_pass
user = User.find_by_email(params[:email])
forget_pass = ForgetPassword.new
forgetpass.userid = user.email
forgetpass.status = true
forgetpass.save!
redirect_to login_url
结尾
在我的 password_reset_spec
require 'spec_helper'
describe "PasswordResets" do
it "emails when user requesting password reset" do
user=User.new
forget_pwd = ForgetPassword.new
#forget_pwd.userid.should == "prasad"
#forget_pwd.token.should == "123456"
forget_pwd.userkey = "14dd"
visit auth_index_path
click_link "Forgot Password"
fill_in "Email", :with=> 'pp@gmail.com'
click_button "Submit"
current_path.should eq(login_path)
page.should have_content("A verification mail has been sent to your email id. Click on the confirmation link to change the password")
last_email.to.should include('pp@gmail.com')
end
end
在测试中如何测试用户是否存在并分配属性。就我而言, user = User.find_by_email(params[:email]) forgetpass.userid = user.email
请帮忙,因为我是 Rspec 的新手