我正在经历Chapter 5 of RailsTutorial.org。
我有一项测试,无论我做什么,我都无法上班。它在我输入变量传递的字符串时传递,但是当我放入变量本身时不会传递。
错误显示未定义的方法'full_title'(在输入相关问题30分钟后我无法找到答案。)
进行表面测试,所需内容显示在应用中,标题中包含“注册”的完整标题。
这是我的代码:
require 'spec_helper'
describe "User pages" do
subject { page }
describe "signup page" do
before { visit signup_path }
it { should have_selector('h1', text: 'Sign up') }
it { should have_selector('title', text: full_title('Sign up')) }
end
end
这是错误显示未定义方法'full_title'
当我使用此代码时它会通过:
require 'spec_helper'
describe "User pages" do
subject { page }
describe "signup page" do
before { visit signup_path }
it { should have_selector('h1', text: 'Sign up') }
it { should have_selector('title', text: 'Ruby on Rails Tutorial Sample App | Sign up') }
end
end
感谢您的帮助! 亚当
答案 0 :(得分:11)
重新启动Guard可以解决问题。
答案 1 :(得分:7)
答案 2 :(得分:6)
我遇到了同样的问题,这就是我解决它的方法。确保文件/spec/support/utilities.rb
包含以下代码:
include ApplicationHelper
这将解决您的问题。
答案 3 :(得分:1)
如果写:config.include ApplicationHelper 到spec_helper.rb一切都会正常工作,但那一刻我没有看到逻辑将文件utilities.rb转换为spec / support(一切都可以正常工作)
答案 4 :(得分:0)
我遇到了完全相同的问题...除了将头撞到墙上20分钟后,我终于看到了什么问题:我将rspec/support
文件夹命名为suppport
。难怪spec_helper.rb
无法找到它。 *捂脸*