视图中的模拟函数Djang

2024-05-16 03:33:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚开始写单元测试,这个问题可能很傻,但我在做了大量的研究之后才发布这个问题。在

我正在尝试为集中式中的函数编写一个单元测试/视图.py很多其他视图都在使用它。在

函数如下所示

def make_job(self, request, *args, **kwargs):
   .....
   .....
   return Response(data, status=status.HTTP_200_OK)

我需要帮助模拟单元测试中的请求,因为这个函数是由其他视图调用的,所以我不知道如何在不依赖url路径的情况下独立地测试这个函数。在

如何模拟此请求?在

谢谢


Tags: 函数pyself视图makereturnresponserequest
1条回答
网友
1楼 · 发布于 2024-05-16 03:33:01

你可以用模拟补丁作为函数修饰符,或者更好地作为contextmanager:

with mock.patch('path.to.your.app.Class.method', new=new_function_with_return):
    # do something here
    pass

https://docs.python.org/3/library/unittest.mock.html#patch

抱歉,我读得太快了。您可以通过Django的RequestFactory创建假请求对象:

https://docs.djangoproject.com/en/1.11/topics/testing/advanced/#the-request-factory

相关问题 更多 >