Vil*_*oja 5 python django rest unit-testing django-rest-framework
我有一个Django-rest-framework API,我想对其进行单元测试。更具体地说,我想分别对某些数据验证方法进行单元测试。这些数据验证方法将获得一个请求作为其参数,如下所示:
def validate(request)
Run Code Online (Sandbox Code Playgroud)
为了单独测试它,我需要一种创建请求的方法。在django-rest-framework中,有APIRequestFactory,可用于创建请求。主要问题是,APIRequestFactory将不会创建django-rest-framework使用的相同请求。相反,它将按照站点所述创建常规的django请求:
注意:使用APIRequestFactory时,返回的对象是Django的标准HttpRequest,而不是REST框架的Request对象,该对象仅在调用视图后才生成。
但是,由于这些验证方法使用django-rest-frameworks请求,因此无法使用APIRequestFactory对它们进行单元测试。有什么办法可以分别对它们进行单元测试,还是应该只使用APIClient并尝试测试整个APIView?我不想这样做,因为那样的话它将不是一个纯粹的单元测试。使用APIClient,我只能得到响应,而不能得到请求。为什么没有django-rest-framework请求的APIRequestFactory?我的意思是,如果这些是django-rest中使用的那些,那么为什么请求工厂不生成那些呢?
| 归档时间: |
|
| 查看次数: |
1438 次 |
| 最近记录: |