Michael Hartl Rails教程(3.2) - 第5章Rspec问题

时间:2012-04-05 22:39:08

标签: rspec ruby-on-rails-3.2 spork railstutorial.org

我已经完成了第5章和所有练习。作为最后练习的一部分,MH让您为ApplicationHelper方法编写测试。

完成后,个人测试通过:

    ST2中的
  • shift-command-T(使用sublime-text-2-ruby-tests包)
  • 终端中的
  • rspec spec/requests/user_pages_spec.rb 终端
  • 中的
  • rspec spec/requests/static_pages_spec.rb

但是,如果我在终端中使用rspec spec/运行所有测试,我会收到此错误:

/Users/anonymouscoward/rails/railstut/sample_app/spec/helpers/
application_helper_spec.rb:1:in `<top (required)>': uninitialized
constant ApplicationHelper (NameError)

如果我运行spork并再次尝试rspec spec/,则所有测试都通过。

我不确定我是否理解为什么它的工作方式如此,或者当我想要运行所有测试时,我是否总是需要将spork运行起来。感谢。

3 个答案:

答案 0 :(得分:3)

我不确定,但也许你忘了要求spec_helper。 如果是这样,只需将其插入application_helper_spec.rb的第一行

即可
require 'spec_helper'

答案 1 :(得分:0)

我遇到了同样的问题。谢谢你的解决!

我在另一个论坛上发现了这个回复,这似乎有助于思考Spork如何与Rspec相关。

  

RSpec没有“运行”spec_helper。默认情况下,rspec加载文件   以“_spec.rb”结尾,这取决于要求的那些文件   spec_helper.rb。   http://www.ruby-forum.com/topic/167768

答案 2 :(得分:0)

describe "ApplicationHelper" do

ApplicationHelper应该是一个字符串,而不是常量