Rails Test - Как проверить конкретную валидацию? - PullRequest
3 голосов
/ 18 января 2012

Используя набор тестов Rails по умолчанию, как мне написать тесты, которые проверяют только определенные проверки?Например, если у меня есть проверки на наличие, числовые значения и мой собственный валидатор, как мне просто проверить числовые значения?

Скажите, что у меня нет работающей числовой проверки, поэтому этот тест не пройден:

test "should test numeric validator" do
    post = Post.new(:number => 'not a number')
    assert !post.save, "it saved a non-numeric value for :number"
end

Но это пройдет, потому что мой собственный валидатор не позволил сохранить его по какой-то другой причине, поэтому мой тест на самом деле не проходит должным образом.

1 Ответ

4 голосов
/ 18 января 2012

Вы можете установить хеш post.errors для определенного поля, т. Е .:

assert_nil post.errors[:number], "it saved a non numeric value for :number"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...