我在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 `<top (required)>': uninitialized constant Parser (NameError)
我尝试将module Parser
类放在Data
类的同一个目录app/models/parser
中,我也尝试将它移到lib/parser
做同样的模块包装类,并且已将lib/parser
添加到application.rb
中的自动加载中,但到目前为止还没有任何效果。
我做错了什么?
答案 0 :(得分:1)
require 'rails_helper'
代替spec_helper
。仅要求spec_helper
为我重现该问题,并要求rails_helper
修复它。有关spec_helper
与rails_helper
(包括效果影响)的更多信息,请访问:How is spec/rails_helper.rb different from spec/spec_helper.rb? Do I need it?
我通过使用bundle exec rspec
运行RSpec来重现此问题。如果我用bin/rspec
运行RSpec(这是一个由spring-commands-rspec gem生成的binstub),它不关心我需要哪个帮助文件。我猜春天的负荷更加急切。