2014-07-22 1 views
0

, 나는 (이 서비스 내 일이 아닌 경우, 모든 시스템에서 작동하고 싶어)이 코드를 MainClass) 단위 테스트에서이 메서드에 대해모의 주장 유형 내 메인 클래스에서

def test_deleteMetodg_type(self): 
    ob = MainClass("1212", "19414", "127.0.0.1", "3000") 
    self.assertRaises(TypeError, ob.deleteMetod, []) 

이 메서드의 반환 형식이 올바른지 확인하고 싶습니다.

하지만 객체 Mock() 것이 가능 주장 유형이 아닌 경우에만 assert_called_with()

내가 객체를 조롱하고 메서드를 호출하고 반환 유형을 비교하려면 어떻게합니까?

도움/힌트를 부탁드립니다.

+1

이 질문은 단순히는 "어떻게 나는 가짜를 사용합니까? " 광범위한 문서가 있습니다 : 읽으신 후 특별한 질문이 있으면 다시 방문하십시오. –

+0

@DanielRoseman 세부 사항을 추가했습니다. – Mark

+0

나는 당신이 여기서 모의하기를 바라고있는 것이 명확하지가 않다. –

답변

0

잘못된 인수가 제공되었을 때 메서드가 TypeError를 발생시키는 지 테스트하려는 경우 아무 것도 모방 할 필요가 없습니다. 그냥 (잘못) 호출하고 예외가 발생한다고 주장하십시오. 2.7 또한

def deleteMetod(self, room, params=None): 
    if not isinstance(room, str) or (not isinstance(params, MainClass) and params is not None): 
     raise TypeError("Parameter 'room' should be a string. Parameter 'params' if there must be an instance of Nuve.") 

    response = self.send('DELETE', None, '/rooms/'+room, params) 
    return response 

, 높은 더 편리한 assertRaises 구문이 :

BTW, 잡기 후 인상 할 필요가 다음 형식 오류를 제기하지

def test_deleteMetodg_type(self): 
    ob = MainClass("1212", "19414", "127.0.0.1", "3000") 
    with self.assertRaises(TypeError): 
     ob.deleteMetod([]) 
관련 문제