ruby-on-rails – “无法自动加载常量”使用rspec但不是rails
发布时间:2020-12-17 02:06:20 所属栏目:百科 来源:网络整理
导读:我有这个文件,我想测试一下. 应用程序/工人/站/ http.rb module Worker module Station class HTTP # ... end endend 这是我的spec文件. 规格/工人/站/ http_spec.rb describe Worker::Station::HTTP do it "should do something" do end end 现在的问题是我
我有这个文件,我想测试一下.
应用程序/工人/站/ http.rb module Worker module Station class HTTP # ... end end end 这是我的spec文件. 规格/工人/站/ http_spec.rb describe Worker::Station::HTTP do it "should do something" do end end 现在的问题是我在使用rspec运行spec文件时遇到以下错误. rspec spec / workers / station / http_spec.rb /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:464:in `load_missing_constant': Unable to autoload constant Station::HTTP,expected app/workers/station/http.rb to define it (LoadError) from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:184:in `const_missing' from spec/workers/station/http_spec.rb:3:in `<top (required)>' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:223:in `load' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:223:in `block in load' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:214:in `load_dependency' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/activesupport-4.0.4/lib/active_support/dependencies.rb:223:in `load' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `block in load_spec_files' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `each' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/configuration.rb:896:in `load_spec_files' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/command_line.rb:22:in `run' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:80:in `run' from /Users/linus/.rvm/gems/ruby-2.0.0-p247@global/gems/rspec-core-2.14.8/lib/rspec/core/runner.rb:17:in `block in autorun' from /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/linus/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 奇怪的是,每个人都在控制台中工作. ????$rails c 为什么这会发生在使用rspec而不是在rails中,我将如何修复它? 我正在使用 >铁轨(4.0.4) 解决方法
正如jfornoff建议您可以使用类似以下语句的规则向规范添加require语句:
需要“app / workers / station / http” 但是,如果您使用的是Spring Rails应用程序预加载器并且上述方法无法解决问题,您还可以检查Spring是否需要重新启动.您可以在不使用Spring的情况下测试运行规范,如下所示: 捆绑exec rspec spec / workers / station / http_spec.rb … 要么 … spring stop # or bin/spring stop rspec spec/workers/station/http_spec.rb (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |