Обычный метод тестирования - убедиться, что результаты соответствуют ожидаемым.Поскольку в этом случае вы используете API, это может усложнить ситуацию.Вы можете обнаружить, что использование mocha для создания фиктивного объекта, который вы можете отправлять вызовами API, позволит вам заменить класс Google
чем-то, что работает так же хорошо для целей тестирования.
Aболее простой, но более грубый подход - использовать переключатель «тестового режима»:
def sync_to_external_apis
[ user, assoc_user ].each do |cuser|
if (Rails.env.test?)
@synced_users ||= [ ]
@synced_users << cuser
else
# ...
end
end
end
def did_sync_user?(cuser)
@synced_users and @synced_users.include?(cuser)
end
Это простой подход, но он не подтвердит правильность ваших вызовов API.