2011-09-15 4 views

답변

1

첫째, 테스트를 위해 사용하는 함수를 작성

테스트 케이스 후
>>> import __builtin__ 
>>> original_import = __builtin__.__import__ 
>>> def import_hook(name, *args, **kwargs): 
... if name == 'cStringIO': raise ImportError('test case module import failure') 
... else: return original_import(name, *args, **kwargs) 
... 
>>> 
>>> __builtin__.__import__ = import_hook 
>>> somecode() 
got StringIO 

, 다시 설정해야합니다 :

>>> __builtin__.__import__ = original_import 
+0

추가 학점을 얻으려면 m ock.patch는 특정 테스트 케이스에서만이 작업을 수행합니까? –

+0

흠, 결코 mock.patch를 사용하지는 않았지만이 모듈을 데코레이터로 만들면 모듈 목록을 제공하여 입력시 '숨기기'하고 종료시 다시 설정할 수 있습니다. – jterrace

+1

지금까지, 수입으로 어지럽 혀진 것처럼 보이는 것은 다소 추한 것을줍니다. 내 진짜 해결 방법은 "#pragma : no cover"를 사용하여 그것을 무시하는 것입니다! 나는 나의 경험을 파헤쳐야 할 것이다. –