Как правило, модели большого пальца проходят модульное тестирование, контроллеры проходят функциональное тестирование, а интеграционные тесты выполняются с представлениями. Если вы используете RSpec, у вас будут спецификации моделей, контроллеров и представлений, но, по сути, вы тестируете то же самое.
Вы всегда можете смоделировать действия (с такими драгоценными камнями, как Mocha или Flexmock), чтобы избежать вызова методов на самом деле, но вы хотите убедиться, что ожидаемое поведение происходит. (Например, выполняется вызов MyClass.create или MyClass.destroy). Это особенно верно для тестов контроллера / представления, где я часто буду издеваться над вызовом модели.
По моему опыту, у меня обычно нет проблем с моделями и ассоциациями, использующими базу данных. Возможно, вы захотите взглянуть на Factory Girl или какую-то альтернативу осветительным приборам, которые облегчают управление тестовыми объектами / данными.