我正在学习Rails 4 in Action。在使用Rspec和Capybara进行测试时,我遇到了上述错误。我的viewing_projects_spec.rb文件如下:
require 'spec_helper'
feature "Viewing projects" do
scenario "Listing all projectcs" do
project = FactoryGirl.create(:project, name: "TextMate 2")
visit '/'
click_link 'TextMate 2'
expect(page.current_url).to eql(project_url(project))
end
end
剩余的错误信息为:Failure/Error: expect(page.current_url).to eql(project_url(project))
。
我进行了一些搜索,人们建议将以下内容放入 config/environments/development.rb 中:
Rails.application.routes.default_url_options[:host] = 'localhost:3000'
很不幸,这并没有做任何事情。
期望值:"http://localhost:3000/projects/41" 实际值:"http://www.example.com/projects/41"
。 - Mike GlazRails.application.routes.default_url_options[:host] = 'www.example.com'
,测试就能通过。 - Mike Glazcurrent_path
而非current_url
,因为current_path
中没有域名,所以出错的概率更小。 - Billy ChanFailure / Error:visit“/”NoMethodError:undefined method '[]' for nil:NilClass
。 - Mike Glaz