2014-11-19 3 views
0

이전에 물어 보았지만 최신 버전이 나왔고 2 년 전 마지막 관련 게시물이 나간 이후로이 도구를 사용하는 사람들에게 궁금해서 TDD T, 모든 기능을 테스트하는 방법은 무엇입니까 (지오 코드, 근거리, within_bounding_box, 거리 등).RSpec으로 지오 코더 젬을 테스트 할 때 가장 좋은 방법

현재는 a method for doing that입니다.

제 질문은 여러 가지 결과를 어떻게 그릴 것입니까? near, bounding_box, 거리 또는 기타 계산 된 기능을 테스트하는 데 여러 데이터가 필요하기 때문입니다.

시간을내어 의견을 보내 주셔서 감사합니다.

+0

나는 보석에 의해 제공되는 방법을 테스트 할 것입니다 : 그들은 이미 이해 – apneadiving

+0

테스트되었지만, 때로는 작업에 관계없이 테스트해야 할 때도이 방법에 접근하는 방법을 배울 가치가 있습니다. – svajone

답변

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