Kry*_*ski 8 python django django-middleware django-testing
我在使用Django测试Client()测试中间件时遇到问题.它似乎特别模拟会话中间件.但是,由于它基于RequestFactory,因此它似乎不运行任何中间件.
有没有办法让测试客户端为请求和响应两者应用中间件?我知道通常有其他方法专门测试中间件.但是,在某些情况下,我想用完整的中间件堆栈测试请求.这样做的任何方式?
我正在考虑扩展Client并修改其request()类并在函数开头通过中间件堆栈运行请求,并通过函数底部的中间件堆栈响应.你认为这样的事情会起作用吗?如果没有,你能指出一些可以解释原因的资源吗?
小智 6
你可能需要override_settings.
请参阅https://docs.djangoproject.com/en/dev/topics/testing/tools/#django.test.override_settings.
@override_settings(MIDDLEWARE_CLASSES=(
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
...
))
class ViewTest(TestCase):
def setUp(self):
pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2534 次 |
| 最近记录: |