1

При запуске мой набор тестов, примерно половину времени он будет идти красным, потому что я ударять геокодирования за второй предел запроса:Rails 4 - Geocoder ударяя лимит запросов в набор тестов

Google Geocoding API error: over query limit.  

Я использую геокодеру драгоценный камень с картами google/местами api.

Похоже, мне нужно установить какой-то вариант сна, но в документации по геокодированию единственное упоминание об этом - для задачи грабли. Как я могу настроить его или не позволять моему тестовому набору делать слишком много запросов на геокодирование в секунду?

ответ

3

Пока не специфичны для геокодера драгоценный камень, лучше всего, вероятно, гася службу каким-то образом.

У вас есть несколько вариантов:

  1. Вы можете включить кэширование в тестовой среде, так что вы только один запрос внешнего HTTP в день. Rails Guides имеет несколько хороших примеров ActiveSupport::Cache. Соответствующий раздел - low-level caching. Хотя это может сработать для вас, я думаю, что это слишком сложно для вашей ситуации.

  2. Я рекомендую издеваться над внешней службой HTTP все вместе.Thoughtbot имеет несколько устаревшее, но все же релевантное руководство по настройке Webmock - популярной библиотеки для издевательства внешних HTTP-сервисов. Он хорошо интегрируется со всеми популярными платформами тестирования.

Надеюсь, это поможет.

1

Правильный подход для тестирования с драгоценным камнем Геокодера описан в README

Добавьте это в spec/support (или эквивалент) каталог, а также сообщения об ошибках следует прекратить.

# spec/support/geocoder.rb 
Geocoder.configure(:lookup => :test) 
Geocoder::Lookup::Test.set_default_stub(
    [ 
    { 
     'latitude'  => 40.7143528, 
     'longitude' => -74.0059731, 
     'address'  => 'New York, NY, USA', 
     'state'  => 'New York', 
     'state_code' => 'NY', 
     'country'  => 'United States', 
     'country_code' => 'US' 
    } 
    ] 
) 
Смежные вопросы