1

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

完成后,单个测试将通过:

  • shift-command-T在 ST2 中(使用 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。谢谢。

4

3 回答 3

3

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

require 'spec_helper'
于 2012-04-05T22:51:59.267 回答
0

我遇到了同样的问题。感谢您的修复!

我在另一个论坛上找到了这个回复,这似乎有助于思考 Spork 与 Rspec 的关系。

RSpec 不会“运行”spec_helper。默认情况下,rspec 加载以“_spec.rb”结尾的文件,这些文件是否需要 spec_helper.rb。 http://www.ruby-forum.com/topic/167768

于 2012-04-10T21:33:04.293 回答
0
describe "ApplicationHelper" do

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

于 2014-06-17T13:23:02.760 回答