1

第 5 章とすべての演習を完了しました。最後の演習の一環として、MH は ApplicationHelper メソッドのテストを作成します。

それが完了すると、個々のテストは次のようにパスします。

  • shift-command-TST2 (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 に答える