首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >希望在rails中进行2.2.2的单元测试,但失败了。有人能告诉我原因并帮我找到解决办法吗?

希望在rails中进行2.2.2的单元测试,但失败了。有人能告诉我原因并帮我找到解决办法吗?
EN

Stack Overflow用户
提问于 2012-04-28 09:33:32
回答 2查看 101关注 0票数 0

我遵循的敏捷Web开发与Rails,第三版第14章。

我在windows中使用命令行并输入以下命令:D:\InstantRails-2.0-win\rails_apps\GraduateDesign\depot>ruby -I test/unit/ product_test.rb

错误消息显示如下:

代码语言:javascript
复制
D:/InstantRails-2.0-win/rails_apps/GraduateDesign/depot/app/controllers/users_co
ntroller.rb:48: warning: don't put space before argument parentheses
D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/acti
ve_support/dependencies.rb:445:in `load_missing_constant': uninitialized constan
t RUBY_COPYRIGHT (NameError)
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/activesupport-2
.2.2/lib/active_support/dependencies.rb:77:in `const_missing'
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/activesupport-2
.2.2/lib/active_support/dependencies.rb:89:in `const_missing'
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/rbx-require-rel
ative-0.0.9/lib/require_relative.rb:51
        from D:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom
_require.rb:36:in `gem_original_require'
        from D:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom
_require.rb:36:in `require'
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/activesupport-2
.2.2/lib/active_support/dependencies.rb:155:in `require'
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/linecache-0.45-
x86-mswin32/lib/linecache.rb:66
        from D:/InstantRails-2.0-win/ruby/lib/ruby/site_ruby/1.8/rubygems/custom
_require.rb:31:in `gem_original_require'
         ... 16 levels...
        from D:/InstantRails-2.0-win/ruby/lib/ruby/gems/1.8/gems/activesupport-2
.2.2/lib/active_support/dependencies.rb:155:in `require'
        from D:/InstantRails-2.0-win/rails_apps/GraduateDesign/depot/test/test_h
elper.rb:3
        from test/unit/product_test.rb:1:in `require'
        from test/unit/product_test.rb:1
EN

回答 2

Stack Overflow用户

发布于 2012-04-28 10:58:44

我不认为这是导致错误的原因,但您可能会检查它,以防您忽略它。

错误的第一行如下:

warning: don't put space before argument parentheses 48号线在users_controller.rb。

票数 0
EN

Stack Overflow用户

发布于 2012-04-28 18:27:22

错误消息的重要部分是rails找不到RUBY_COPYRIGHT常量。这个常量从1.8.7开始就是红宝石本身的一部分,所以我认为你使用的是旧的东西。

既然如此,你应该好好想想

  1. 更新您的Ruby。当前版本为1.9.3
  2. ,使用更新的Rails。版本2.2.2是严重过时的版本。3.2.2.

中的Th当前版本

如果您的书/文档坚持使用这些旧版本,您应该找到一本更好的书,尤其是当您第一次学习Rails时。自从Ruby1.8.6和Rails 2.2以来,情况发生了很大的变化。带有Rails的敏捷Web开发的第四版涵盖Rails 3。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10362298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档