0
好的一天,每一个我只是想知道,似乎是我的问题,我不认为,即时通讯有有问题,我的代码即时通讯与错误的参数数目任何问题错误在我test_image_url测试错误的参数单元测试
==============================================================================
SUITE test,test/unit/helpers,test/unit,test/performance,test/functional (SEED 49459)
==============================================================================
ActionController::TestCase
ActionDispatch::IntegrationTest
ActionView::TestCase
ActiveRecord::TestCase
ActiveSupport::TestCase
ProductTest
test_image_url 0:00:00:163 ERROR
wrong number of arguments (1 for 0)
Exception `ArgumentError' at:
/home/led/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/testing/setup_and_teardown.rb:35:in `block in run'
/home/led/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:408:in `_run_setup_callbacks'
/home/led/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/callbacks.rb:81:in `run_callbacks'
/home/led/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/testing/setup_and_teardown.rb:34:in `run'
test_product_attributes_must_not_be_empty 0:00:00:317 PASS
test_product_must_be_postive_price 0:00:00:326 PASS
ProductsHelperTest
==============================================================================
pass: 2, fail: 0, error: 1
total: 3 tests with 10 assertions in 0.3286295 seconds
==============================================================================
rake aborted!
Command failed with status (1): [/home/led/.rvm/rubies/ruby-1.9.2-p290/bin/...]
Tasks: TOP => test:units
(See full trace by running task with --trace)
我的单元测试:
require 'test_helper'
class ProductTest < ActiveSupport::TestCase
def new_product
product = Product.new(:title => "MyBook",
:description => "Famouse myBook",
:image_url => "zz.jpg")
end
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
test "product must be postive price" do
product = Product.new(:title => "MyBook",
:description => "Famouse myBook",
:image_url => "zz.jpg")
product.price = -1
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 0
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 1
assert product.valid?
end
test "image url" do
ok = %w{fred.gif fred.jpg fred.png FRED.JPG FRED.PNG FRED.GIF
http://a.b.c/x/y/z/fred.gif}
bad = %w{fred.doc fred.gif/more fred.gif.more}
ok.each do |name|
assert new_product(name).valid?, "#{name} shoudn't be invalid"
end
bad.each do |b|
assert new_product(name).invalid?, "#{name} shoudn't be valid"
end
end
end
编辑:sovled 感谢帮助我想通了,什么是错
require 'test_helper'
class ProductTest < ActiveSupport::TestCase
def new_product(image_url)
product = Product.new(:title => "MyBook",
:description => "Famouse myBook",
:price => 1 ,
:image_url => image_url)
end
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
test "product must be postive price" do
product = Product.new(:title => "MyBook",
:description => "Famouse myBook",
:image_url => "zz.jpg")
product.price = -1
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 0
assert product.invalid?
assert_equal "must be greater than or equal to 0.01",
product.errors[:price].join('; ')
product.price = 1
assert product.valid?
end
test "image url" do
ok = %w{fred.gif fred.jpg fred.png FRED.JPG FRED.PNG FRED.GIF
http://a.b.c/x/y/z/fred.gif}
# bad = %w{fred.doc fred.gif/more fred.gif.more}
bad = %w{ fred.doc fred.gif/more fred.gif.more }
ok.each do |name|
assert new_product(name).valid?, "#{name} shouldn't be invalid"
end
bad.each do |name|
assert new_product(name).invalid?, "#{name} shouldn't be valid"
end
=begin
ok.each do |name|
assert new_product(name).valid?, "#{name} shoudn't be invalid"
end
bad.each do |name|
assert new_product(name).invalid?, "#{name} shoudn't be valid"
end
=end
end
end
庵在轨运行3.1 红宝石1.9
感谢更多的权力,我们
你可以发布你的通过测试,或者整个测试文件? – bdon 2012-02-17 09:52:45
@bdon文件已发布感谢您的关注 – Led 2012-02-17 11:23:10