如何对Django休息框架请求进行单元测试?
我有一个Django-rest-framework API,我想进行单元测试.更具体地说,我想单独测试一些数据验证方法.这些数据验证方法将获取请求作为其参数,如下所示:
def validate(request) 为了单独测试它,我需要一种创建请求的方法.在django-rest-framework中,有APIRequestFactory,可用于创建请求.主要问题是,APIRequestFactory不会创建django-rest-framework使用的相同请求.相反,它将创建网站声明的常规django请求:
但是因为那些验证方法使用了django-rest-frameworks请求,所以我无法使用API??RequestFactory对它们进行单元测试.有没有办法单独测试那些,或者我应该只使用API??Client,并尝试测试整个APIView?我不想这样做,因为那时它不会是一个纯粹的单元测试.使用API??Client,我只能获得响应,而不是请求.为什么django-rest-framework请求没有APIRequestFactory?我的意思是,如果这些是django-rest中使用的那些,那么请求工厂为什么不生成那些呢? 解决方法
能够通过不将请求发送到验证方法来绕过此,而是将request.DATA发送.这样,验证方法在请求时独立,但仅依赖于发送给它们的数据.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |