Как я могу проверить: проверка включения в Rails с помощью RSpec

У меня есть следующая проверка в моем ActiveRecord.

validates :active, :inclusion => {:in => ['Y', 'N']}

Я использую следующее для проверки проверок моей модели.

should_not allow_value('A').for(:active)
should allow_value('Y').for(:active)
should allow_value('N').for(:active)

Есть ли более чистый и более подробный способ В настоящее время я использую сопоставители RSpec2 и shoulda.

РЕДАКТИРОВАТЬ

После некоторого осмотра я только обнаружил, что это, вероятно, «нормальный» способ тестирования, shoulda ничего для этого не предоставляет, и любой, кто этого требует, может написать свой собственный сопоставитель для этого. (И, вероятно, внести его обратно в проект). Некоторые ссылки на обсуждения, которые могут быть интересными:

  • Ссылки, указывающие на вышеизложенное. Ссылка 1 , Ссылка 2

  • should_ensure_value_in_range Эта ссылка приближается к тому, что можно использовать, но принимает только диапазоны, а не список значений. Пользовательский сопоставитель может быть основан на этом.

38
задан jake 29 July 2015 в 07:06
поделиться