Я нахожу дыры в моем покрытии, потому что я издевался над моими моделями в примерах контроллеров. Когда я удаляю метод модели, от которого зависит контроллер, я не получаю ошибку.
Исходя из TDD на статически типизированных языках, я всегда высмеиваю зависимости от тестируемого объекта, попадающего в базу данных, чтобы увеличить скорость. Я все равно получаю ошибки в приведенном выше примере, так как мои макеты подклассируют исходный объект. Я ищу лучшие практики на динамическом языке.
Спасибо.
UPDATE:
Получив множество противоречивых мнений по этому поводу, кажется, что все сводится к тому, какую философию вы принимаете.
Сообщество Rspec, по-видимому, использует сильно заглушенные зависимости для достижения изоляции тестируемого объекта. Приемочные тесты (традиционно называемые интеграционными тестами;) используются для обеспечения работы ваших объектов со своими зависимостями времени выполнения.
Сообщество musta / Test :: Unit, по-видимому, старается избегать окурков в максимально возможной степени. Это позволяет вашим тестам подтвердить, что тестируемый объект действительно работает с его зависимостями.
Это видео суммирует это красиво: http://vimeo.com/3296561