运行规范命令时未初始化的常量 Spec::Rails (NameError)
Posted
技术标签:
【中文标题】运行规范命令时未初始化的常量 Spec::Rails (NameError)【英文标题】:uninitialized constant Spec::Rails (NameError) when running spec command 【发布时间】:2011-11-22 18:31:45 【问题描述】:尝试在模型测试上运行规范命令时出现以下错误。
命令是:
C:\Rspec Test\spec\models>spec bank_account_spec.rb
错误是:
c:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-rails-1.3.0/lib/spec/rails/matchers/ ar_be_valid.rb:2: 未初始化的常量 Spec::Rails (NameError) 来自 c:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-rails-1.3.0/lib/spec/ra ils/matchers/ar_be_valid.rb:31:in
require' from c:/jruby-1.5.0/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31 :in
require' 来自 C:/Rspec Test/vendor/rails/activesupport/lib/active_support/depende ncies.rb:158:inrequire' from c:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-rails-1.3.0/lib/spec/ra ils/matchers.rb:2 from c:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-rails-1.3.0/lib/spec/ra ils/matchers.rb:31:in
require' 来自 c:/jruby-1.5.0/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31 :在require' from C:/Rspec Test/vendor/rails/activesupport/lib/active_support/depende ncies.rb:158:in
require' 来自 c:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-rails-1.3.0/lib/spec/ra ils.rb:15 ... 13 级... 来自 C:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-1.3.0/bin/spec:5 来自 C:/jruby-1.5.0/lib/ruby/gems/1.8/gems/rspec-1.3.0/bin/spec:22:in `l 负载' 来自 c:/jruby-1.5.0/bin/spec:22
我实际上尝试在C:\jruby-1.5.0\bin\spec
文件中将版本更改为 1.3.0,但结果相同。
【问题讨论】:
【参考方案1】:此错误表明 rspec 框架未在执行此代码的环境中加载。
uninitialized constant Spec::Rails (NameError)
对于带有 rails 2.x 的 rspec,然后按照安装步骤https://github.com/dchelimsky/rspec/wiki/rails
对于带有 rails 3.x 的 rspec,请遵循安装步骤https://github.com/rspec/rspec-rails
Rails 3 需要 rspec 2 。 rspec-rails-2 的开发已移至 github.com/rspec/rspec-rails。
【讨论】:
【参考方案2】:不确定这是否有帮助,因为这个问题已经很老了,但我只是通过谷歌找到的,所以这可能会对某人有所帮助。
我也使用Spec::Matchers.define
声明了我的匹配器,来自网上找到的一些示例。显然,这已经过时了,一旦我将定义更改为RSpec::Matchers.define
(请注意“RSpec”中的“R”),一切都恢复正常了。
我只是在调试模式下得到错误,我没有使用 JRuby,但这可能仍然值得一试,而且它更正确。
【讨论】:
以上是关于运行规范命令时未初始化的常量 Spec::Rails (NameError)的主要内容,如果未能解决你的问题,请参考以下文章
VB.Net SQL DataAdapter 首次运行时未更新
Discord.Net 依赖注入 - 运行命令时未找到依赖项