覆盖Django View for Testing中的函数调用

时间:2018-02-28 16:16:43

标签: python django unit-testing

尽管搜索高低,我还是找不到的东西......

是否可以在Django视图中覆盖变量或函数调用?

我们有一些代码可以调用后端C代码并写入数据库。显然,我希望我能阻止此调用在视图中出现。

然而 - 当我尝试做一个@patch时...它被忽略了,无论如何都会发生呼叫。

是否可以在Django视图中覆盖它以便我可以获得返回值?

我尝试过的示例代码:

    @patch('clibs.api.create_dispute')
def test_create_dispute(self, cfunc):
    f = cfunc()
    f.return_value = 123456

    post_data = {
        'dispute_amt': ['1'],
        'id': ['12'],
    }

    request = self.factory.post(reverse('dispute:dispute_creation', args=[12]), data=post_data,HTTP_X_REQUESTED_WITH='XMLHttpRequest')
    request.user = self.user
    response = dispute_creation(request, id=12)

0 个答案:

没有答案