我正在阅读 RailsTutorial.org 的第5章。
我有一个测试,无论我做什么都无法上班。当我放入变量传递的字符串时,它会通过,但当我放入变量本身时不会。
错误显示未定义的方法"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
感谢您的帮助!Adam
Guard可以解决此问题。
为了使full_title
测试正常工作,请确保从清单 5.26 中创建spec/support/utilities.rb
我偶然跳过了它,因为它看起来与第 3 章中的重复方法完全一样。
我遇到了同样的问题,这是我解决它的方法。 确保文件/spec/support/utilities.rb
具有以下代码:
include ApplicationHelper
这将解决您的问题。
如果写入:config.include ApplicationHelper进入 spec_helper.rb 一切都会正常工作,但那一刻我没有看到将文件 utilities.rb 放入规范/支持的逻辑(没有它一切都可以正常工作)
我遇到了完全相同的问题......除了在用头撞墙20分钟后,我终于看到了不对劲的地方:我把rspec/support
文件夹命名为suppport
。难怪spec_helper.rb
找不到它。*脸掌*