Я реорганизую свои контроллеры, перемещая логику к модели. Мне было трудно проверить мои методы контроллера, когда у них было так много логики (также не удалось повторно использовать логику в контроллерах). Теперь я хотел бы понять, как писать спецификации для этих контроллеров. Я следую this testing guide.Спецификация для тестирования метода контроллера, который вызывает методы модели
Вот пример:
def dashboard
@sorted_deals = Deal.deals_for_user(current_user)
end
Это вызывает метод класса, который имеет определенную логику, которая находит соответствующие предложения и сортирует их соответствующим образом. Он чувствует себя как необязательное дублирование, чтобы снова проверить deals_for_user
(я уже тестировал его в спецификации модели). Как проверить этот метод без лишнего дублирования? Это случай, чтобы использовать mocks или stub?
Я склонен согласиться. – settheline