The*_*ous 6 python django unit-testing mocking
我有这样的django视图
# Django view
from some_module import f2
def f1(request, version):
# some code
f2(**kargs)
# more code
return HTTPResponse(response)
Run Code Online (Sandbox Code Playgroud)
函数f2在另一个模块中
# some_module
def f2(**kargs):
# some code
Run Code Online (Sandbox Code Playgroud)
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'
Run Code Online (Sandbox Code Playgroud)
在这种情况下,每次您调用f2()代码时,mocked_f2都会被调用。
| 归档时间: |
|
| 查看次数: |
3774 次 |
| 最近记录: |