我发现了几篇解释 TDD/BDD 的博客文章,但这些示例通常非常基础。通常它们仅适用于模型。我想看看人们如何在现实生活中真正使用 BDD。
我很想指出一些以测试优先风格构建的 Django 应用程序,以便我可以向它们学习。
我知道 Rails 有很多例子,当然 Django 也有一些例子。
你可能已经做对了。目前,有大量来自 Django 开发人员的博客文章,他们谈论如何正确地进行 Django 开发,以及他们如何通过测试一些繁重的东西来解决问题,但没有一个资源可以涵盖所有内容,尤其是没有使用 TDD只。
如果您喜欢阅读其他人的源代码,我认为您是了解经验丰富的 Python 和 Django 开发人员如何施展魔法、管理、测试和重新分发代码的最佳途径。
我建议你承诺定期跳到GitHub、Bitbucket或Project Hosting on Google Code并查询 Django 项目。参与一些小的事情是很棒的,你可以迅速投入其中并真正了解正在发生的事情,甚至可能更进一步,看看你可以如何做出贡献。
不幸的是,我不知道有任何 Django 项目分发了有关如何执行开发的文档。这并不是真正的狂野西部:有版本化的文档、愿望清单、问题跟踪器、TODO、分支和显示开发时间表的标签,但并不完全涵盖从思考到完整、清晰实现的整个过程。
而且,不幸的是,大多数书籍都是在没有一套开发方法的情况下开发 Django 应用程序。我认为这很公平,因为人们有自己的做事方式和最适合他们的工具,而这样的书至少需要 2000 页长才能涵盖所有变量。
我个人喜欢自己尝试做某事,然后通过查看其他人为解决相同问题所做的工作,以身作则向他们学习;我觉得这让我对做事的正确、错误和原因有一个全面的认识。我最近通过使用该contentypes
框架将一个应用程序与我的项目分离,但我对我的测试结果不太满意。然后,我查看了James Bennett的django-tagging测试,发现我的想法出了问题,这对我帮助很大。