2010-08-31 4 views
1

Вот мой тест.Проблема с проверкой валидации с использованием Shoulda

class AlertSettingTest < ActiveSupport::TestCase 
    context "For ALL Alert Settings" do 
    setup do 
    @alert = AlertSetting.create({ :alert_type_id=>'1',:name => 'xxx'}) 
    end 
    subject { @alert } 
    should_belong_to :alert_type 
    should_validate_presence_of :name 
    end 
end 

Это моя модель.

class AlertSetting < ActiveRecord::Base 
    belongs_to :alert_type 

    validates_presence_of :name, :message => "Alert name can't be blank." 
    validates_presence_of :alert_type_id, :message => "Please select valid Alert Type." 
end 

И я получаю ожидаемых ошибок включить «не может быть пустым», когда имя устанавливается на ноль, есть ошибки: название оповещения не может быть пустым. (ноль)

Я не понимаю. Зачем? Спасибо!

ответ

1

Хорошо. Если я прокомментирую часть сообщения: в моих проверках внутри моей модели тестовый скрипт RUNS! Теперь, если кто-нибудь может объяснить, почему это так, это было бы здорово. Есть шанс, что это ошибка?

1

Если изменить сообщение, вы должны сказать об этом Shoulda:

should_validate_presence_of(:name).with_message(/can.t be blank/) 
+1

Я считаю, что должно быть «должен validate_presence_of» (с пробелом после нужно), а не «should_validate_presence_of» –

Смежные вопросы