2013-11-14 3 views
2

모의 도움이 필요합니다.클래스의 메서드 내에서 외부 함수를 조롱하려면 어떻게해야합니까?

나는 mymodule.py 코드를 다음 있습니다 :

from someModule import external_function 

class Class1(SomeBaseClass): 
    def method1(self, arg1, arg2): 
     external_function(param) 

지금은이 테스트 코드 :

import mock 
from django.test import TestCase 

from mymodule import class1 
class Class1Test(TestCase) 
    def test_method1: 
     '''how can I mock external_function here?''' 

답변

2

당신은 작성합니다

class Class1Test(TestCase): 

    @mock.patch('mymodule.external_function') 
    def test_method1(self, mock_external_function): 
     pass 

mymodule 기능을 살펴보면 external_function 직접 수입됩니다. 그러므로 mymodule.external_function을 모의해야합니다. method1이 실행될 때 호출 될 함수입니다.

+0

감사합니다. 어떻게 든 나는 틀린 재료를 조롱하고 있었다. 당신이 나를 똑바로 세웠다. – user2916464