RSpec不加载我的类,即使它在Rails控制台中加载

我在app/models/parser有一个名为data.rb ,内容如下:

 class Parser::Data def method1 end end 

在这一点上没什么好看的。 我试图在实现太多之前为它编写测试,只是为Rails做了默认的RSpec安装。

我的RSpec文件在spec/models/parser/data_spec.rb ,到目前为止非常基础:

 require 'spec_helper.rb' describe Parser::Data do let(:parser) { Parser::Data.new } end 

当我运行测试时,我收到此错误:

 spec/models/parser/data_spec.rb:3:in `': uninitialized constant Parser (NameError) 

我尝试将module Parser放在Data类的同一目录app/models/parser ,我也尝试将它移动到lib/parser做同样的模块包装类,并在application.rb添加了lib/parser到autoload但是到目前为止没有任何工作。

我究竟做错了什么?

require 'rails_helper'而不是spec_helper 。 只需要spec_helper为我重现问题,并要求rails_helper修复它。 有关spec_helperrails_helper (包括性能影响)的更多信息,请spec_helper : spec / rails_helper.rb与spec / spec_helper.rb有何不同? 我需要它吗?

我通过使用bundle exec rspec运行RSpec来重现该问题。 如果我用bin/rspec运行RSpec(这是一个由spring-commands-rspec gem生成的binstub),它不关心我需要哪个帮助文件。 我猜spring的负荷更加急切。