2

RSpecを使用してRails3.1rc4プロジェクトをテストしようとしています。lib/ディレクトリにあるコードをテストしたい。私が得ている:

/home/julas/myapp/spec/lib/operation_spec.rb:3:in `<top (required)>': uninitialized constant MyApp (NameError)

MyAppはモジュール(名前空間)であり、この名前空間から何かを使おうとすると、問題が発生します。

describe MyApp::Something do

私のテストでは。

テストは以前は問題なく機能しました。に追加することで、すべてのものlib/をRails環境にロードします。config.autoload_paths += Dir["#{config.root}/lib/**/"]application.rb

私はこれを引き起こす原因が本当にわかりません。誰かが似たようなことを経験しましたか?

更新: Sporkとは関係がなかったようです。私は何かを逃したに違いない。

4

2 に答える 2

5

これが以前に機能した理由はわかりませんlibが、ディレクトリからコードをテストするには、スペックファイルでコードを要求する必要があるようです(コントローラーなどのように自動ロードされません)。ソース

于 2011-07-11T18:42:19.423 に答える
1

私はすでにからコードをロードしていましたlib/。私の問題は、私のテストには次のようなものがありました。

require "spec_helper"

それ以外の

require 'rails_helper'
于 2020-03-25T04:43:00.857 に答える