Я думаю, что правильный ответ - это зависит: -)
Если ваш контроллер действительно тупой и состоит из «одних вкладышей», нет необходимости проверять его, так как нет ничего (или почти ничего), что можно сломать. Из того, что вы сказали, это ваше дело. И помните, что вы должны тестировать контроллеры изолированно, так что ваши модели должны быть смоделированы, и это займет некоторое время / код.
Тестирование представлений намного сложнее, потому что предполагается, что вы тестируете слой в одиночку - поэтому вам нужно макетировать все модели / контроллеры - это принцип модульного тестирования.
Так что я бы проголосовал только за модели модульного тестирования. У вас есть почти вся логика, поэтому ваш тестовый код высок. И написание RSpec для модели очень просто.
НО - кроме модульного тестирования вы действительно должны пойти на интеграционное тестирование. Огурец отлично подходит для этого. В интеграционных тестах вы тестируете все слои одновременно, а не изолированно. А тесты на огурец можно обсудить с вашим клиентом, потому что они удобочитаемы. Это действительно хороший источник разъяснений - когда вы пишете интеграционный тест, вы часто обнаруживаете крайние случаи, которые не указаны (то есть, «что должно делать приложение, если пользователь нажимает там?»).
Итак, моя скромная рекомендация проста:
RSpec для модульного тестирования на моделях, огурец для интеграционного тестирования