Вы можете разместить код в файле test / test_helper.rb.Вы уже должны найти фрагмент кода, который выглядит следующим образом:
class ActiveSupport::TestCase
self.use_transactional_fixtures = true
self.use_instantiated_fixtures = false
end
Если код должен использоваться во всех ваших тестах, вы можете добавить свои методы в класс ActiveSupport::TestCase
.В противном случае оберните их в Module
и смешайте модуль там, где это необходимо.
Рекомендуется проверять валидации, а не тестировать саму валидацию (макрос validates_presence_of
уже протестирован в базе кода Rails)но чтобы убедиться, что шансы в вашем коде не влияют на бизнес вашего класса.
Например, может быть проверка, которая должна запускаться только в определенных событиях.Или вы можете убедиться, что никто не удалил вашу сверхсекретную проверку для этой конкретной модели.
Если вы хотите проверить проверки вашей модели, я рекомендую вам проверить shoulda .Следует, чтобы предоставить несколько удобных методов для проверки ваших проверок.
class PostTest < ActiveSupport::TestCase
should belong_to(:user)
should validates_presence_of(:id)
end