5

我正在阅读 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

谢谢你的帮助!亚当

4

5 回答 5

11

重新启动 Guard 解决了这个问题。

于 2012-05-28T10:04:51.217 回答
7

要使full_title测试工作,请确保spec/support/utilities.rb清单 5.26创建

我无意中跳过了它,因为它看起来与第 3 章中的重复方法一模一样。

于 2012-05-08T02:07:12.223 回答
6

我遇到了同样的问题,这就是我解决它的方法。确保该文件/spec/support/utilities.rb具有以下代码:

include ApplicationHelper

这将解决您的问题。

于 2012-12-22T18:18:07.267 回答
1

如果将:config.include ApplicationHelper 写入 spec_helper.rb 一切都会正常工作,但是那一刻我看不到将文件 utility.rb 放入 spec/support 的逻辑(没有它一切都可以正常工作)

于 2015-09-16T10:52:14.170 回答
0

我遇到了完全相同的问题...除了将头撞到墙上 20 分钟后,我终于看到了问题所在:我将rspec/support文件夹命名为suppport。难怪spec_helper.rb找不到。*掌心*

于 2013-04-05T03:18:39.290 回答