RSpec 标题测试失败,变量full_title,但通过变量full_title提供给标题的字符串文本传递



我正在阅读 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找不到它。*脸掌*

最新更新