Я только начал изучать Ruby on Rails, даже сам язык Ruby.после прочтения Итерации B2: модульное тестирование моделей и выполнения следующего упражнения: 1. Параметр проверки: длина проверяет длину атрибута модели.Добавьте проверку к модели Продукта, чтобы убедиться, что заголовок имеет длину не менее десяти символов.2. Измените сообщение об ошибке, связанное с одной из ваших проверок.
Я поместил следующий код в /models/product.rb
validates_uniqueness_of :title, :message => 'has already been taken'
validates_length_of :title, :minimum => 8, :message => 'must be at least 8 letters'
и поместил следующие коды в / unit / product_test.рб
test "product is not valid without a 8 letters title" do
product = Product.new(:title =>"12345678",
:description => "yyy",
:price => 1,
:image_url => "fred.gif")
product.title = "abcdefg"
assert product.invalid?
assert_equal "must be at least 8 letters", product.errors[:title].join('; ')
product.title = "abcdefgh"
assert product.valid?
end
test "product is not valid without a unique title" do
product = Product.new(:title => products(:lighting).title,
:description => "yyy",
:price => 1,
:image_url => "fred.gif")
assert !product.save
assert_equal "has already been taken", product.errors[:title].join('; ')
end
но когда я запускаю тест рейка, возникает сбой, который я не могу понять, как его решить, он показывает:
1) Failure:
test_product_is_not_valid_without_a_unique_title(ProductTest)
/Users/youngoo/Development/RubyonRails/anaheim/test/unit/product_test.rb:66]:
<"has already been taken"> expected but was
<"has already been taken; must be at least 8 letters">.
как это происходит?и как я могу это сделать?я думал, что проблема связана с присоединиться метод спасибо!