我已经完成了第5章和所有练习。作为最后练习的一部分,MH让您为ApplicationHelper方法编写测试。
完成后,个人测试通过:
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运行起来。感谢。
答案 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应该是一个字符串,而不是常量