6

我正在使用基于活塞的 API 构建 Django 应用程序。为了保持一切尽可能干燥和 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'
})

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

4

1 回答 1

9

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

只有测试才能判断内部请求机制是否对性能造成太大影响。

于 2011-01-02T16:08:21.273 回答