Лучший подход к тестированию геокодера с помощью RSpec

Я знаю, что об этом спрашивали раньше, но поскольку вышла более новая версия и последний соответствующий пост был датирован 2 года назад, мне было интересно, кто использует это и следует TDD до T, каков ваш подход к тестированию всей его функциональности. (геокод, рядом, внутри_граничной_рамки, расстояние и т. д.).

В настоящее время существует метод для этого.

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

Спасибо за ваше время, читая это, и любые отзывы, которые могут прийти!


person svajone    schedule 19.11.2014    source источник
comment
Я бы не стал тестировать методы, предоставляемые драгоценным камнем: они уже были протестированы   -  person apneadiving    schedule 19.11.2014
comment
Я понимаю, но иногда, когда ваша работа требует от вас проверки, все равно стоит научиться подходить к этому.   -  person svajone    schedule 19.11.2014


Ответы (1)


Вы просто передадите более одного адреса в заглушку и вызовете ее перед тестами:

# Create your list of addresses
addresses = [
  ["New York, NY", [{
    'latitude'     => 40.7143528,
    'longitude'    => -74.0059731,
    'address'      => 'New York, NY, USA',
    'state'        => 'New York',
    'state_code'   => 'NY',
    'country'      => 'United States',
    'country_code' => 'US'
  }]],
  ["Clarksville, TN", [{
    'latitude' => 36.4722803,
    'longitude' => -87.3612205,
    'address' => 'Clarksville, TN 37040, USA',
    'state' => 'Tennessee',
    'state_code' => 'TN',
    'country' => 'United States',
    'country_code' => 'US'
  }]],
]

# Include this in a before(:all) method before your tests
Geocoder.configure( :lookup => :test )
addresses.each { |address| Geocoder::Lookup::Test.add_stub(address[0], address[1])}
person Wes Foster    schedule 20.06.2015