Я использую garb gem , чтобы получить некоторые основные статистические данные, например просмотры страниц, из Google Analytics. Все работает правильно, но я не могу найти лучший способ проверить мои вызовы API. Вот парная версия моего класса Analytics:
class Analytics
extend Garb::Model
metrics :pageviews
dimensions :page_path
Username = 'username'
Password = 'password'
WebPropertyId = 'XX-XXXXXXX-X'
# Start a session with google analytics.
#
Garb::Session.login(Username, Password)
# Find the correct web property.
#
Property = Garb::Management::Profile.all.detect {|p| p.web_property_id == WebPropertyId}
# Returns the nubmer of pageviews for a given page.
#
def self.pageviews(path)
Analytics.results(Property, :filters => {:page_path.eql => path}).first.pageviews.to_i
end
# ... a bunch of other methods to pull stats from google analytics ...
end
Довольно просто. Но помимо обеспечения того, что константы установлены, я не смог написать эффективные тесты. Какой лучший способ проверить что-то подобное? Вот некоторые из проблем:
- Я бы предпочел не использовать API в моих тестах. Это медленно и требует подключения к интернету.
- Статистика, очевидно, все время меняется, что затрудняет определение ожиданий, даже если я проверяю API при тестировании.
Я думаю, что хочу пробный урок? Но я никогда не использовал этот шаблон раньше. Любая помощь будет отличной, даже просто ссылки, которые помогут мне выбрать правильный путь.