У меня есть модель, которая требует допустимого формата URL.
class Event < ActiveRecord::Base
validates_format_of :url, :with => /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix
end
НО ДО реализации решения Я хочу написать тест, который не проходит. Это как кто-то может написать о неудачном тесте? (Пожалуйста, не пытайтесь придерживаться основ Rspec или Always, прежде чем переходить к расширенным средам тестирования / сопоставления.
class EventTest < ActiveSupport::TestCase
setup do
# These attributes are valid
@event_attributes = { :title => "A title",
:url => "http://somedomain.com/images/land.jpg",}
end
test "should not be valid with an INVALID URL" do
@event = Event.new(@event_attributes.merge(:url => "htp:/domain"))
assert_no_match(/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/ix, @event.url, "Not a valid format")
end
end
Является ли assert_no_match
правильным подходом. Любые предложения.