По моему мнению, приемочные тесты (то есть огурец / капибара) проверяют взаимодействия, которые пользователь обычно выполняет с приложением. Обычно это включает в себя такие вещи, как, например, может ли пользователь создать определенный ресурс с действительными данными, а затем он увидит ошибки, если введет неверные данные. Тест контроллера больше подходит для вещей, которые пользователь не должен нормально выполнять, или для крайних крайних случаев, которые слишком (у) громоздки для тестирования с Cucumber.
Обычно, когда люди пишут тесты контроллера, они эффективно тестируют то же самое . Единственная причина для проверки метода контроллера в тесте контроллера - для крайних случаев.
В пограничных случаях, например, если пользователь вводит недопустимый идентификатор на страницу показа, ему должна отображаться страница 404. Это очень простая вещь для тестирования с тестом контроллера, и я бы порекомендовал это сделать. Вы хотите быть уверенными, что когда они нажимают на действие, они получают ответ 404, бум, просто.
Убедиться, что ваше действие new
успешно отвечает и не содержит синтаксической ошибки? Пожалуйста. Это то, что вам скажут ваши огурцы. Если действие внезапно разворачивается в случае * * * * * , ваша функция сломается, и вы это исправите.
Еще один способ думать об этом: хотите ли вы протестировать определенное действие, реагирующее определенным образом (например, тесты контроллера), или вас больше волнует, что пользователь может перейти к этому действию new
и действительно выполнить все ходы создания этого ресурса (например, приемочные испытания)?