Как отобразить проверку, которая не прошла в моем модульном тесте Rails? - PullRequest
4 голосов
/ 07 апреля 2010

Сводка : Проведенные модульные тесты говорят мне, какое утверждение (файл: строка) не выполнено, а не какая проверка привела к ошибке.

Дополнительная информация : у меня 11 проверок в одной из моих моделей. Модульное тестирование отлично, запускаю ли я rake test:units --trace или ruby -Itest test/unit/mymodel_test.rb. Однако, несмотря на то, что он точно говорит мне, какой assert подвел меня, мне не говорят, какая проверка не удалась. Я, должно быть, упускаю что-то очевидное, потому что я не могу задать Google этот вопрос достаточно хорошо, чтобы получить ответ.

Спасибо:)

Ответы [ 3 ]

7 голосов
/ 27 апреля 2011

Я думаю, что вы хотите это:

assert person.valid?, person.errors.full_messages.inspect

если модель лица недействительна, вы увидите сообщения об ошибках, чтобы вы могли их увидеть.

4 голосов
/ 03 августа 2012

Чтобы напечатать одну или несколько неудачных проверок, используйте такой тест:

  test "post with neither name nor title" do
    p = Post.new
    assert p.valid?, p.errors.full_messages.inspect
  end
2 голосов
/ 07 апреля 2010

Вы всегда можете взглянуть на ошибки объекта для недействительного атрибута.

class Person
   validates_presence_of :name
end

person = Person.new
person.valid?  # => false

person.errors[:name]  # =>  "can't be blank"
person.errors.full_messages  # => ["Name can't be blank"]

Подробнее смотрите в ActiveRecord :: Errors документах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...