当使用Rails 3.2进行rake测试时,如何确定错误是什么?

时间:2012-05-31 16:48:51

标签: ruby-on-rails-3.2

我开始认为它是ruby的版本我使用的是ruby-1.9.3-p125,或者可能是你的新版本很难分辨的宝石。我正在使用Rile第4版的Agile Web Development一书构建购物车应用程序。如果有人可以提供帮助,我将非常感谢,谢谢

new-host:depot Tony$ rake test:units
/Users/Tony/work/depot/test/unit/product_test.rb:1:in `test': wrong number of arguments (1 for 2) (ArgumentError)
    from /Users/Tony/work/depot/test/unit/product_test.rb:1:in `<top (required)>'
    from /Users/Tony/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require'
    from /Users/Tony/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `block in require'
    from /Users/Tony/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:236:in `load_dependency'
    from /Users/Tony/.rvm/gems/ruby-1.9.3-p125/gems/activesupport-3.2.2/lib/active_support/dependencies.rb:251:in `require'
    from /Users/Tony/.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/Tony/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each'
    from /Users/Tony/.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/Tony/.rvm/gems/ruby-1.9.3-p125/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select'
    from /Users/Tony/.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/Tony/.rvm/rubies/ruby-1.9.3-p125...]

1 个答案:

答案 0 :(得分:1)

我正在处理同样的错误数小时,希望这有帮助

您的test / unit / product_test.rb应如下所示

class PostTest < ActiveSupport::TestCase
    test "product attributes must not be empty" do
      product = Product.new
      assert product.invalid?
      assert product.errors[:title].any?
      assert product.errors[:description].any?
      assert product.errors[:price].any?
      assert product.errors[:image_url].any?
    end
end