Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 水豚+;rspec:重置\u密码路由错误_Ruby On Rails_Rspec_Capybara_Email Spec - Fatal编程技术网

Ruby on rails 水豚+;rspec:重置\u密码路由错误

Ruby on rails 水豚+;rspec:重置\u密码路由错误,ruby-on-rails,rspec,capybara,email-spec,Ruby On Rails,Rspec,Capybara,Email Spec,所以我正在尝试测试忘记密码的简单功能。我是新手,如果这是一个愚蠢的问题,请原谅。 在这里,我必须以忘记密码的形式输入用户电子邮件,它会在电子邮件中向我发送一个链接以重置密码。 我在电子邮件里,但当它点击链接时,页面就变成了错误页面 it "sends reset password email on submit",:js=> true, :focus=>true do visit "/login" click_link "Forgot Password?"

所以我正在尝试测试忘记密码的简单功能。我是新手,如果这是一个愚蠢的问题,请原谅。 在这里,我必须以忘记密码的形式输入用户电子邮件,它会在电子邮件中向我发送一个链接以重置密码。 我在电子邮件里,但当它点击链接时,页面就变成了错误页面

 it "sends reset password email on submit",:js=> true, :focus=>true do


    visit "/login"
    click_link "Forgot Password?"
    sleep 1
    fill_in "email", :with => @user.email
    click_button "Submit"
    email = open_email(@user.email)
    email.should deliver_to(@user.email)
    #email.should have_subject("FlinkMusic - Forgot you password")
    click_first_link_in_email

    page.should have_content ("Reset your password")
        fill_in "Password ", :with => "password1" 
        fill_in "Repeat Password", :with => "password1"
        click_button "Reset Password"
        page.should have_content "Your password has been reset.Please log in."

end

这是我的规格助手

   require 'rubygems'
   require 'spork'
   Spork.prefork do

   ENV["RAILS_ENV"] ||= 'test'
   require File.expand_path("../../config/environment", __FILE__)
   require 'rspec/rails'
  require 'rspec/autorun'
  require 'capybara/rspec'
  require "capybara-screenshot"
  require 'factory_girl_rails'
  Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

 #Capybara.defualt_wait_time = 10

  if ENV['BROWSER_TEST']
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
 end
else
Capybara.javascript_driver = :selenium
 end
RSpec.configure do |config|

      config.include Capybara::DSL

     config.include(EmailSpec::Helpers)
     config.include(EmailSpec::Matchers)


     config.treat_symbols_as_metadata_keys_with_true_values = true
     config.filter_run :focus => true
     config.run_all_when_everything_filtered = true
有什么我遗漏了它需要的吗?
谢谢

问题是
在电子邮件中单击\u first\u link\u
。这不是点击真正的链接。
我必须使用电子邮件中的访问(“重置密码”)打开重置密码页面。

问题是
首先单击电子邮件中的链接。这不是点击真正的链接。

我必须使用
在电子邮件中访问(“重置密码”)
打开重置密码页面。

如果我手动单击链接,则一切正常。因此,我尝试测试的代码确实有效。如果我手动单击链接,则一切正常。因此,我尝试测试的代码确实有效。