Ruby on rails 用RSpec测试地理编码器gem的最佳方法

Ruby on rails 用RSpec测试地理编码器gem的最佳方法,ruby-on-rails,ruby,google-maps,rspec,rails-geocoder,Ruby On Rails,Ruby,Google Maps,Rspec,Rails Geocoder,我知道以前有人问过这个问题,但自从一个新版本问世以来,自从上一篇相关文章的日期是2年前,我想知道那些使用这个并遵循TDD到T的人,在测试它的所有功能(地理编码、近距离、边界框内、距离等)时,你的方法是什么 目前有 我的问题是,你如何存根多个结果?因为您需要多个数据来测试附近、边界框内、距离或其他计算功能 感谢您花时间阅读本文以及可能收到的任何反馈 您只需将多个地址传递到存根中,并在测试之前调用它: # Create your list of addresses addresses = [ [

我知道以前有人问过这个问题,但自从一个新版本问世以来,自从上一篇相关文章的日期是2年前,我想知道那些使用这个并遵循TDD到T的人,在测试它的所有功能(地理编码、近距离、边界框内、距离等)时,你的方法是什么

目前有

我的问题是,你如何存根多个结果?因为您需要多个数据来测试附近、边界框内、距离或其他计算功能


感谢您花时间阅读本文以及可能收到的任何反馈

您只需将多个地址传递到存根中,并在测试之前调用它:

# 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])}

我不会测试gem提供的方法:它们已经被测试过了,我知道,但是有时候,当你的工作要求你测试它时,不管怎样,仍然值得学习如何处理这个问题。