2012-02-20 1 views
0

이 클래스를 테스트 할 수있는 방법에 대해 생각하고 있습니다. 인터페이스는 Recurly API를 랩핑하는 add_property 및 remove_property라는 두 가지 메서드 만 노출합니다.반복적으로 API 래퍼 테스트

class SubscriptionManager 

    def initialize(account_code) 
    @account_code = account_code 
    end 

    def add_property 
    subscription.update_attributes subscription_add_ons: [{ add_on_code: 'property', quantity: property_count + 1 }] 
    end 

    def remove_property 
    subscription.update_attributes subscription_add_ons: [{ add_on_code: 'property', quantity: property_count - 1 }] 
    end 

    private 

    def property_count 
    subscription.add_ons.first[:quantity] 
    end 

    def subscription 
    @subscription ||= Recurly::Subscription.find(@account_code) 
    end 
end 

는 여기에 내가 쓰기를 시도하고 시험의 개요,하지만 여기 내 목표는 Recurly 보석이 시험을 자체적으로 멋진 래퍼를 제공하기 때문에 API를 공격하지 않습니다. 그러나 API를 사용하여이 작업을 수행 할 수 있다고 생각합니다. 누구든지 아이디어가 있습니까?

답변

0

VCR gem을 확인하십시오. 설정 한 API를 치지 않고도 API 테스트를 수행 할 수 있습니다.

+1

이것은 내가 의도 한 바가 아니므로 모델을 함께 치는 것을 피하고 싶습니다. API는 잘 테스트되었으므로 필히 치지 않아도됩니다. 정확하게 스텁하고 응답이 무엇인지 이해할 수 있습니다. – TheDelChop

+0

@TheDelChop - 유감스럽게도 응답을 스터 빙하고 코드를 테스트하면 API 래퍼를 테스트 할 때 수행해야 할 작업이 있습니다. – dennismonsewicz