我正在尝试使用RSpec来测试Rails 3.1rc4项目。我想测试我的lib/
目录中的代码。我得到:
/home/julas/myapp/spec/lib/operation_spec.rb:3:in `<top (required)>': uninitialized constant MyApp (NameError)
MyApp是一个模块(命名空间),每当我尝试使用此命名空间中的某些内容时,都会出现问题。当我尝试做的时候
describe MyApp::Something do
在我的测试中。
该测试之前没有任何问题。通过将lib/
添加到config.autoload_paths += Dir["#{config.root}/lib/**/"]
,我将application.rb
中的所有内容加载到Rails环境中。
我真的不知道是什么原因造成的。任何人都经历过类似的事情吗?
更新:
似乎与Spork无关。我一定错过了一些东西。我正在尝试使用RSpec来测试Rails 3.1rc4项目。我想测试我在lib /目录中的代码。我正在:/home/julas/myapp/spec/lib/operation_spec.rb:3:在`
我不知道为什么这会更早起作用,但是似乎要从lib
目录中测试代码,您必须在spec文件中要求它(它不会像在控制器中那样自动加载)。 Source
我已经从lib/
加载了代码。我的问题是,我的测试有: