如何对Django休息框架请求进行单元测试?

如何对Django休息框架请求进行单元测试?,第1张

概述我有一个Django-rest-framework API,我想进行单元测试.更具体地说,我想单独测试一些数据验证方法.这些数据验证方法将获取请求作为其参数,如下所示: def validate(request) 为了单独测试它,我需要一种创建请求的方法.在django-rest-framework中,有APIRequestFactory,可用于创建请求.主要问题是,APIRequestFacto 我有一个Django-rest-framework API,我想进行单元测试.更具体地说,我想单独测试一些数据验证方法.这些数据验证方法将获取请求作为其参数,如下所示:

def valIDate(request)

为了单独测试它,我需要一种创建请求的方法.在django-rest-framework中,有APIRequestFactory,可用于创建请求.主要问题是,APIRequestFactory不会创建django-rest-framework使用的相同请求.相反,它将创建网站声明的常规django请求:

Note: When using APIRequestFactory,the object that is returned is Django’s standard httpRequest,and not REST framework’s Request object,which is only generated once the vIEw is called.

但是因为那些验证方法使用了django-rest-frameworks请求,所以我无法使用API​​RequestFactory对它们进行单元测试.有没有办法单独测试那些,或者我应该只使用API​​ClIEnt,并尝试测试整个APIVIEw?我不想这样做,因为那时它不会是一个纯粹的单元测试.使用API​​ClIEnt,我只能获得响应,而不是请求.为什么django-rest-framework请求没有APIRequestFactory?我的意思是,如果这些是django-rest中使用的那些,那么请求工厂为什么不生成那些呢?

解决方法 能够通过不将请求发送到验证方法来绕过此,而是将request.DATA发送.这样,验证方法在请求时独立,但仅依赖于发送给它们的数据. 总结

以上是内存溢出为你收集整理的如何对Django休息框架请求进行单元测试?全部内容,希望文章能够帮你解决如何对Django休息框架请求进行单元测试?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1197253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存