【问题标题】:Rails rake test:units failure - something deeper?Rails rake 测试:单元故障 - 更深层次的东西?
【发布时间】:2012-03-11 17:16:42
【问题描述】:

免责声明:我才刚刚开始。

我已经使用没有选项的 rvm 安装了 Ruby 1.9.3。

我正在关注第 4 版的 Rails 敏捷开发教程。 当我运行 rails rake test:units 时出现此错误:

Ascended:store Ascended$ rake test:units --trace** Invoke test:units (first_time)

** Invoke test:prepare (first_time)
** Invoke db:test:prepare (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
** Execute db:test:prepare
** Invoke db:test:load (first_time)
** Invoke db:test:purge (first_time)
** Invoke environment 
** Execute db:test:purge
** Execute db:test:load
** Invoke db:test:load_schema (first_time)
** Invoke db:test:purge 
** Execute db:test:load_schema
** Invoke db:schema:load (first_time)
** Invoke environment 
** Execute db:schema:load
** Execute test:prepare
** Execute test:units
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require': /Users/Ascended/Ruby/store/test/unit/product_test.rb:7: syntax error, unexpected tFID, expecting keyword_end (SyntaxError)
/Users/Ascended/Ruby/store/test/unit/product_test.rb:8: syntax error, unexpected '['
  assert product.[:price].any?
                  ^
/Users/Ascended/Ruby/store/test/unit/product_test.rb:9: syntax error, unexpected '['
  asssert product.[:image_url].any?
                   ^
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `block in <main>'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select'
    from /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `<main>'
rake aborted!
Command failed with status (1): [/Users/Ascended/.rvm/rubies/ruby-1.9.3-p12...]
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils.rb:82:in `ruby'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `ruby'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/testtask.rb:99:in `block (2 levels) in define'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:60:in `verbose'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/testtask.rb:98:in `block in define'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/Ascended/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `load'
/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/bin/rake:19:in `<main>'

我认为这与 rails 应用程序本身无关,可能与环境以及 rake 和 ruby​​ 的安装方式以及 rvm 的安装方式以及正在加载 ruby​​ 的方式有关?

我在没有 --ggc-clang 的情况下安装了 xcode 和 Ruby(读到 1.9.3 不再需要该选项)

我有点迷茫 - 任何帮助将不胜感激。

【问题讨论】:

    标签: ruby ruby-on-rails-3


    【解决方案1】:

    正如 Ruby 告诉你的,我认为你有一个语法错误:

    assert product.[:price].any?
    

    应该是:

    assert product[:price].any?
    

    【讨论】:

    • 即使有那个错误,它仍然给我这个错误。 /Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require': /Users/Ascended/Ruby/store/ test/unit/product_test.rb:7: 语法错误,意外的 tFID,期待 keyword_end (SyntaxError)
    • 您还需要通过删除点来修复asssert product.[:image_url].any?
    • 另外,您也可能在第 7 行遇到语法错误。那条线说什么?
    • assert product.error[:description]any?,我错过了之前的时间段。再次运行 rake..
    • 现在它给了我:/Users/Ascended/.rvm/gems/ruby-1.9.3-p125/gems/activemodel-3.2.2/lib/active_model/attribute_methods.rb:407:in method_missing': undefined method image' for #<0x007fc05bbb6778>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 2018-12-20
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多