在Rails 3.1项目中使用RSpec时出现“未初始化的常量”错误

问题描述 投票:0回答:2

我正在尝试使用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:在`':...

ruby-on-rails-3 rspec rspec2 ruby-on-rails-3.1 spork
2个回答
4
投票

我不知道为什么这会更早起作用,但是似乎要从lib目录中测试代码,您必须在spec文件中要求它(它不会像在控制器中那样自动加载)。 Source


0
投票

我已经从lib/加载了代码。我的问题是,我的测试有:

© www.soinside.com 2019 - 2024. All rights reserved.