Из кода видно, что вы хотите проверить атрибут response
и установить сообщение об ошибке, если оно недействительно.
Итак, если ваша модель называется Post:
context "HTML tags in response" do
before(:each) do
@post = Post.new(:response => "<")
end
it "should not be valid" do
@post.should_not be_valid
end
it "should set the error hash" do
@post.errors.should include('Please ensure that Response field do not contain HTML(< and >) tags')
end
end
Вы должны проверить желаемое поведение модели, а не реализацию. Не должно иметь значения, происходит ли проверка в пользовательском методе или во встроенных подпрограммах проверки Rails.
В качестве примечания, как правило, лучше добавить сообщение об ошибке в атрибут, чем errors.base
. Так что вы можете сказать вместо этого:
self.errors.add(:response, "etc. etc.")