我正在开发一个Django软件,上面有不同的应用程序。我正在测试一些视图,我想模拟这些视图中函数的返回。
例如,我有此视图(位于apps.policies.views):
def upload_policy_document(request):
# code fragment avoid
# save document ot ipfs
response_data = save_to_ipfs(app_name=app_name,
process_instance=process_instance,
file=policy_document)
# more code avoided
return JsonResponse(data=response_data)
“save\u to\u ipfs”功能位于应用程序中。UTIL。ipfs\u存储,是我想要模拟的函数,用于返回固定值,而无需连接到ipfs。
我在应用程序中对此视图进行了一些测试。政策。测验。test\u视图。作为测试示例,我有:
class UpdatePolicyDocumentMockCase(SimpleTestCase):
IPFS_JSON_MOCK = {"Hash": "mockhash"}
def setUp(self):
# some setup before tests
@patch('apps.utils.ipfs_storage.save_to_ipfs')
def some_test(self, mock_method):
mock_method.return_value = self.IPFS_JSON_MOCK
self.assertEqual(save_to_ipfs("", "", ""), self.IPFS_JSON_MOCK)
问题是mock不起作用,当reurn必须是self的内容时,它返回空的。IPFS\u JSON\u模拟。
我希望我的解释正确,提前谢谢!