【发布时间】:2011-02-11 10:16:51
【问题描述】:
长期以来,我一直忽略测试我的项目的需要。
所以我花了一天多的时间寻找为我当前的应用程序实施测试的方法,并试图让一些 TDD 用于新的应用程序。
我找到了很多“教程”,步骤如下:“1. 安装这个 2. 安装那个 3. 安装这个那个 4. 完成!”,
但似乎没有人谈论如何构建测试,无论是文件还是代码。
从来没有人谈论过如何设置 CI 服务器,或者只是将测试与项目部署相结合。
很多人都提到了fabric、virtualenv 和nose——但没有人描述它们是如何将它们作为一个整体一起工作的。
我一直在寻找有关如何通过测试和 CI 等设置适当的 Rails 环境的详细信息...
有没有其他人觉得 Django 社区在这方面缺乏,还是只有我一个人? :)
哦,还有其他人对如何操作有任何建议吗?
【问题讨论】:
-
不幸的是它的硬话题。我花了一整天时间创建工作 CI 环境。我完成的是:测试、测试覆盖率、pylint、应用程序演示。
-
只属于你 ;) 请参阅 unittest2、mock、coverage 和 Jenkins。
-
mkelley33:我并不是说缺少工具,而是关于如何一起使用它们的说明。我应该澄清我的问题吗?
-
我同意这个话题很难并且充满危险。 Django 测试运行程序与“unittest2”相结合是远远不够的。这对于编写一大堆集成测试来说很好,但是这样的测试不是好的单元测试(它们实际上会命中数据库,这很慢,是单元测试的主要失败,所以你没有易于编写的快速- 运行提供良好覆盖率的测试。)此外,它们不会端到端地运行您的整个应用程序(例如,在新进程中或使用 Selenium。)因此它们永远无法证明您的应用程序确实有效 - 主要失败用于验收测试。
-
PyCon 2012 的 Carl Meyer(Pip 和 Virtualenv 的维护者,也没有 Django 懒散)对 Django 中的测试进行了很好的讨论:pyvideo.org/video/699/testing-and-django
标签: django testing tdd continuous-integration bdd