2010-02-23 3 views
1

저는 파이썬에 대해 상대적으로 신참입니다. 그루비에서 사용할 수있는지도 강제 변환 기능과 동일한 것이 있는지 궁금합니다.파이썬에서 그루비지도 강요

mock = [apply:{value -> return value*2 }, isValid:{return true}] 
testObject.applyMock(mock) 

즉, 모의 객체로 취급 할 수 있습니다 상황에 대한

, 나는 다음을 수행 할 그루비에서, 단위 테스트를 작성하고 간단한 두 방법의 인터페이스 클래스를 조롱 할거야 같은 수업 :


class mock: 

    def apply(self, value): 
     return value *2 

    def isValid(self): 
     return true 

이것을 달성하기위한 멋진 비단뱀 방식이 있습니까?

건배 알렉스

답변

2

사용 type()의 3 매개 변수 양식 :

트릭을 할 것으로 보인다
mock = type('mock', (object,), {'apply': (lambda self, value: value * 2), 
    'isValid': lambda self: True}) 
+0

, 그것은 호출의 결과 유형입니다 것을 깨닫게 나에게 잠시 동안했다 인스턴스가 아닙니다. 따라서 모의 객체를 사용하려면 mockObject = mock()과 같은 작업을 수행해야합니다. 대단히 감사합니다. –

관련 문제