Ruby on rails 使用模型中使用的关注点运行rspec测试时的未初始化常量
当我运行Ruby on rails 使用模型中使用的关注点运行rspec测试时的未初始化常量,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,当我运行rspec spec/models/football\u match\u spec.rb时,我得到一个未初始化常量错误: /Users/jamessmith/project/app/models/football_match.rb:3:in `<class:FootballMatch>': uninitialized constant FootballMatch::Type1Fixture (NameError) from /Users/jamessmith/pro
rspec spec/models/football\u match\u spec.rb
时,我得到一个未初始化常量
错误:
/Users/jamessmith/project/app/models/football_match.rb:3:in `<class:FootballMatch>': uninitialized constant FootballMatch::Type1Fixture (NameError)
from /Users/jamessmith/project/app/models/football_match.rb:1:in `<top (required)>'
from /Users/jamessmith/project/spec/models/football_match_spec.rb:3:in `<top (required)>'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/configuration.rb:1226:in `load'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/configuration.rb:1224:in `each'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/configuration.rb:1224:in `load_spec_files'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:97:in `setup'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:85:in `run'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:70:in `run'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/lib/rspec/core/runner.rb:38:in `invoke'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/gems/rspec-core-3.2.0/exe/rspec:4:in `<top (required)>'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/bin/rspec:23:in `load' from /Users/jamessmith/.rvm/gems/ruby-2.1.2/bin/rspec:23:in `<main>'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `eval'
from /Users/jamessmith/.rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `<main>'
编辑的足球比赛模型:
class FootballMatch < Fixture
include Mongoid::Document
include Type1Fixture
end
class足球比赛
我已将
app/models/concerns
添加到environments/test.rb
中的config.autoload_路径
数组中,这可能是由于没有正确的文件名造成的。对于Type1Fixture
,包含类的文件应称为app/models/concerns/type1_fixture.rb
。是这样吗?该死的。就是这样。我被弄糊涂了,因为我猜Rails在自动加载“关注点”文件夹中的所有内容时完全不考虑文件名。谢谢,马特。
class FootballMatch < Fixture
include Mongoid::Document
include Type1Fixture
end