[英]Unit-testing Python: Mocking function calls inside function
我有这样的django视图
# Django view
from some_module import f2
def f1(request, version):
# some code
f2(**kargs)
# more code
return HTTPResponse(response)
函数f2在另一个模块中
# some_module
def f2(**kargs):
# some code
Django视图是API的一部分,因此请求和响应都在json中
我如何 :
编辑:
我使用的数据库是Cassandra,所以我不能使用django.db
您可以使用@mock.patch
装饰器来模拟单元测试中的f2()
方法。
import mock
import some_module
from django.test import TestCase
def mocked_f2(**kargs):
return 'Hey'
class YourTestCase(TestCase):
@mock.patch('some_module.f2', side_effect=mocked_f2)
def test_case(self):
print some_module.f2() # will print: 'Hey'
在这种情况下,每次在代码中调用f2()
时,都会调用mocked_f2
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.