use*_*464 5 python unit-testing mocking python-mock
我需要一些模拟方面的帮助。
我在 mymodule.py 中有以下代码:
from someModule import external_function
class Class1(SomeBaseClass):
def method1(self, arg1, arg2):
external_function(param)
Run Code Online (Sandbox Code Playgroud)
现在我有测试代码:
import mock
from django.test import TestCase
from mymodule import class1
class Class1Test(TestCase)
def test_method1:
'''how can I mock external_function here?'''
Run Code Online (Sandbox Code Playgroud)
你会写:
class Class1Test(TestCase):
@mock.patch('mymodule.external_function')
def test_method1(self, mock_external_function):
pass
Run Code Online (Sandbox Code Playgroud)
看着mymodule函数external_function是直接导入的。因此,您需要模拟,mymodule.external_function因为这method1是执行时将调用的函数。