运行规范命令时未初始化的常量 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 :inrequire' 来自 C:/Rspec Test/vendor/rails/activesupport/lib/active_support/depende ncies.rb:158:in require' 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:inrequire' 来自 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:inrequire' 来自 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 首次运行时未更新

Java定义常量 / 变量和常量的命名规范

Discord.Net 依赖注入 - 运行命令时未找到依赖项

在 PySpark 中将字符串常量添加为列时未解析的引用点亮

运行播放命令时未定义的歌曲

通过命令提示符运行python程序时未找到模块错误