パスワードを忘れた場合の機能が実装されている Rails アプリケーションを構築しています。RSpec を使用してテスト ケースを作成する必要があります。私は RSPEC を初めて使用し、チュートリアルとスクリーンキャストから rspec がどのように機能するかについての基本的なアイデアを得ました。しかし、コントローラーに対してどのようにテストできるかわかりません。私のコントローラーメソッドで、データベースからユーザーを取得している場合、rspec を使用してどのようにテストしますか。rspecをテストするためにダミーデータを提供しますか?? 以下の例を見つけてください。
Usercontroller.rb 内
定義忘れ_パス
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の初心者なので助けてください