Рассмотрим три «ветви» шаблона проектирования MVC (модель-представление-контроллер), на котором основан Rails.
Просмотры
Они должны быть в значительной степени лишены бизнес-логики: код должен касаться только отображения данных и манипулирования пользовательским интерфейсом.
Контроллеры
Минимальная логика (общепринятым является работа с «тонкими контроллерами»). Тестирование (в каталоге «test / функциональный») должно быть простым и, как мы надеемся, главным образом связано с навигацией и проверкой содержимого ответов. Начните с идеи сделать их как можно более простыми как можно дольше, чтобы вы были готовы к более сложным темам тестирования, когда они необходимы.
Модель
Здесь живет логика бизнеса / домена. Хранение в моделях облегчает тестирование, и это хорошо, потому что вы должны писать большинство своих тестов по моделям, особенно в самый ранний период разработки. Использование тестов для определения поведения до его реализации дает дополнительное преимущество, направляя ваш код к более чистому, отделенному дизайну, поэтому постарайтесь сделать это как можно больше.
Вероятно, стоит взглянуть на Предписания Rails от Ноэля Раппина - есть книга и (бесплатный) вводный PDF-документ, в котором подробно рассматриваются вопросы тестирования, связанные с Rails.