Короткий ответ: «Да» с «Если», длинный ответ: «Нет» с «Но».
В наши дни я склонен пропускать юнит-тесты на уровне контроллера в пользу сильного юнит-тестирования моделей и бизнес-объектов и функционального тестирования с Cucumber.Здесь предполагается, что контроллеры являются очень легковесными объектами, перенаправляющими данные в базовые модели, которые инкапсулируют подавляющее большинство бизнес-логики.
Тем не менее, я все же склонен иметь некоторое очень легкое покрытие некоторых элементов управленияпоток на уровне контроллера.Это просто более здравый смысл.
Одной из проблем при тестировании на уровне контроллера является то, что вам часто приходится либо имитировать, либо создавать большое количество моделей и объектов для эффективного тестирования.Учитывая это, я считаю более ценным подтолкнуть эти тесты к функциональным уровням, где стиль тестирования позволяет более эффективно выражать эти зависимости (либо явным образом выполняя шаги, необходимые для их генерации через само приложение, либо через систему, подобную системе).Декларативные правила огурца).