#ruby-on-rails #cucumber #rails-activerecord
#ruby-on-rails #огурец #rails-activerecord
Вопрос:
Я пытаюсь проверить, правильно ли некоторые объекты связаны с объектом owner.
class Recipe < ActiveRecord::Base
has_many :ingredients
end
Я вставил ингредиенты и позже хочу проверить, относятся ли они к данному рецепту. В cucumber я хотел бы протестировать что-то вроде:
recipe.ingredients.should_contain(ingredient1, ingredient2)
Как я могу это протестировать?
Ответ №1:
Это больше похоже на модульный или интеграционный тест и меньше на проверку поведения. Вы можете использовать shoulda, чтобы проверить, существует ли связь. https://github.com/thoughtbot/shoulda-matchers . Затем вы можете сделать что-то подобное для модульного теста.
recipe.should have_many(:ingredients)
С другой стороны, вы можете вставить ингредиенты с помощью интеграционного теста и проверить связь с другой стороны, как вы задали в своем вопросе.