编程语言
首页 > 编程语言> > python – Django测试客户端可以用于生产中的API调用吗?

python – Django测试客户端可以用于生产中的API调用吗?

作者:互联网

我正在构建一个基于Piston构建的API的Django应用程序.为了尽可能保持DRY和API完整,我希望我的内部应用程序可以调用API而不是模型(代理视图控制器的种类是https://github.com/raganwald/homoiconic/blob/master/2010/10/vc_without_m.md但是现在只需安装一个django ).所以基本设置是:

Model -> API -> Application -> User Client

我可以重载一些核心Piston类来为应用程序创建一个内部客户端接口,但我想知道我是否可以使用Django Test Client来完成同样的事情.所以要创建一篇文章,而不是调用我会运行的模型:

from django.test.client import Client
c = Client()
article = c.post('/api/articles', {
  'title' : 'My Title',
  'content' : 'My Content'
})

我不应该使用测试客户端来执行此操作吗? (例如,性能)是否有更好的工具更适合这一特定目的?

解决方法:

在查看TestClient的代码之后,它似乎没有任何与测试相关的额外开销.相反,它只是作为内部请求的基本客户端.我将使用测试客户端作为内部客户端,并使用Piston的DjangoEmitter从API获取模型对象.

只有测试才能判断内部请求机制是否过多地影响性能.

标签:python,django,django-testing,api
来源: https://codeday.me/bug/20190526/1157270.html