Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Unit testing 与ApicClient()相比,使用RequestsClient()有什么优势?_Unit Testing_Django Rest Framework - Fatal编程技术网

Unit testing 与ApicClient()相比,使用RequestsClient()有什么优势?

Unit testing 与ApicClient()相比,使用RequestsClient()有什么优势?,unit-testing,django-rest-framework,Unit Testing,Django Rest Framework,我正在为Django rest框架API端点编写单元测试。在中,他们添加了RequestsClient()。文件说- 该接口不会向网络发送任何HTTP请求,而是将所有传出请求强制发送到WSGI,并直接调用应用程序 根据我的理解,我认为RequestsClient()对于来自不同服务器的网络请求很有用。不确定它在同一台服务器上是否有任何优势?使用RequestsClient()比使用APIClient()有什么优势吗 使用RequestsClient()比使用ApicClient()有什么优势吗

我正在为Django rest框架API端点编写单元测试。在中,他们添加了RequestsClient()。文件说-

该接口不会向网络发送任何HTTP请求,而是将所有传出请求强制发送到WSGI,并直接调用应用程序

根据我的理解,我认为RequestsClient()对于来自不同服务器的网络请求很有用。不确定它在同一台服务器上是否有任何优势?使用RequestsClient()比使用APIClient()有什么优势吗

使用RequestsClient()比使用ApicClient()有什么优势吗

这是一个更高层次的测试
RequestsClient
将针对APIClient绕过的WSGI层的堆栈进行测试。
这也意味着使用身份验证或CSRF的测试看起来更像真实请求的测试。

如果您不确定,请使用标准的
APIClient

RequestsClient
在以下情况下有用:

  • 您希望与来自另一个Python服务的API进行交互,并希望您的测试在相同的级别上工作
  • 您希望以一种允许您也可以在实时或临时环境中运行测试的方式编写测试