Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django测试和中间件_Python_Django_Django Testing_Django Middleware - Fatal编程技术网

Python Django测试和中间件

Python Django测试和中间件,python,django,django-testing,django-middleware,Python,Django,Django Testing,Django Middleware,我在使用Django test Client()测试中间件时遇到问题。它似乎专门模拟会话中间件。但是,由于它是基于RequestFactory的,所以它似乎没有运行任何中间件 有没有办法让测试客户机同时为请求和响应应用中间件?我知道通常还有其他方法专门测试中间件。但是,在某些情况下,我希望使用完整的中间件堆栈测试请求。有办法吗 我考虑扩展客户机并修改其request()类,在函数开始时通过中间件堆栈运行请求,在函数底部通过中间件堆栈运行响应。你认为这样做行吗?如果没有,你能告诉我一些可以解释原因

我在使用Django test Client()测试中间件时遇到问题。它似乎专门模拟会话中间件。但是,由于它是基于RequestFactory的,所以它似乎没有运行任何中间件

有没有办法让测试客户机同时为请求和响应应用中间件?我知道通常还有其他方法专门测试中间件。但是,在某些情况下,我希望使用完整的中间件堆栈测试请求。有办法吗


我考虑扩展客户机并修改其request()类,在函数开始时通过中间件堆栈运行请求,在函数底部通过中间件堆栈运行响应。你认为这样做行吗?如果没有,你能告诉我一些可以解释原因的资源吗?

你可能需要
覆盖设置

@override_settings(MIDDLEWARE_CLASSES=(
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
))
class ViewTest(TestCase):

    def setUp(self):
        pass