【问题标题】:Good approach/design to unittest django application [closed]单元测试django应用程序的好方法/设计[关闭]
【发布时间】:2012-06-27 08:57:35
【问题描述】:

我的 django 应用程序为每个功能都有一个处理程序(例如,用于创建/保存/检索带有验证的发票模型的 Salesinvoice 处理程序)。 这些处理程序在视图中用于执行用户想要的操作(例如创建发票)。

  1. 为确保应用程序的可靠性,仅对处理程序进行单元测试就足够了吗? 我在上述设计中的想法是,如果需要,我可以使用处理程序而不是 web 界面创建命令行界面。 这种应用程序设计是否可以确保可靠地对 django 应用程序进行单元测试? 用户请求 --> 视图 --> 处理程序(仅对处理程序进行单元测试)--> 模型

  2. *是否有任何 python/django 库可以自动测试视图? * 我的目标是通过尽可能多地进行自动化测试来确保应用程序的可靠性。

【问题讨论】:

  • 如果您不测试视图,您的所有 HTTP 处理代码(提取请求参数、转换格式等)都不会被覆盖。这是否不好,取决于这段代码的复杂程度。

标签: python django unit-testing django-unittest


【解决方案1】:

我不太明白您所说的“处理程序”是什么意思。是景色吗?还是接受请求的单独函数?

关于测试工具,您可以简单地使用像 requests 这样的库来创建请求并验证结果。使用 Django 的内部测试框架时,还有一个内置的测试客户端。

如果您想在浏览器中实际测试视图,可以使用 Seleniumwebdriver plus,这是 Selenium 的一个包装器,使用起来更方便。

可能有用的链接:

【讨论】:

  • handler 不是视图,handler 只是将功能封装在一个类中。换句话说,一个处理程序由许多相关的函数组成。例如销售发票处理程序将具有创建、获取、删除发票的功能。
  • 也许您可以将基于通用类的视图用于 CRUD 内容?要创建命令行界面,您可以使用自定义管理命令,然后您可以直接访问 ORM。
  • 感谢您的链接,它很有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多