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_helper
与rails_helper
(包括性能影响)的更多信息,请spec_helper
: spec / rails_helper.rb与spec / spec_helper.rb有何不同? 我需要它吗?
我通过使用bundle exec rspec
运行RSpec来重现该问题。 如果我用bin/rspec
运行RSpec(这是一个由spring-commands-rspec gem生成的binstub),它不关心我需要哪个帮助文件。 我猜spring的负荷更加急切。