Я не слишком знаком с RSpec, но обычно вы используете макеты для всего, что вы не хотите проверить.
Мок - это то, что вы используете для замены чего-либо, кроме тестируемого класса, чтобы этот класс находился в полной изоляции. Только тогда это настоящий модульный тест , в противном случае вы бы протестировали тестируемый класс, а также все зависимые / вызываемые классы, что тогда будет интеграционным тестом (который полезен в некоторые сценарии, но это точно ничего, что вы хотели бы иметь в TDD / BDD ...).
Thomas