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

Jul*_*era 2 rspec spork rspec2 ruby-on-rails-3 ruby-on-rails-3.1

我正在尝试使用 RSpec 来测试 Rails 3.1rc4 项目。我想测试我的lib/目录中的代码。我越来越:

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

MyApp 是一个模块(命名空间),每当我尝试使用此命名空间中的某些内容时都会出现问题,例如当我尝试这样做时

describe MyApp::Something do
Run Code Online (Sandbox Code Playgroud)

在我的测试中。

之前的测试没有任何问题。我lib/通过添加config.autoload_paths += Dir["#{config.root}/lib/**/"]application.rb.

我真的不知道是什么原因造成的。有人经历过类似的事情吗?

更新:它似乎与 Spork 无关。我肯定错过了什么。

Jul*_*era 5

我不知道为什么这更早起作用,但似乎要测试lib目录中的代码,您必须在规范文件中要求它(它不像在例如控制器中那样自动加载)。来源