如何在Django中启动TDD?

时间:2011-10-11 16:04:25

标签: django unit-testing tdd

我是Django和单元测试的新手,但由于我在玩了相当长的时间后开始了一个项目,我决定给单元测试一个镜头。

除了我的热情之外,我对如何规划开发过程感到很遗憾。我在github上做了一些关于使用单元测试的Django项目的搜索,我偶然发现this。我看到只有“标记”应用程序的测试,它看起来不错,但我不知道如何分解它。为什么apps / tagging / tests /中的“models.py”文件?那里的模型类与apps / tagging / models.py ...

中的模型类无关

关于如何解决这个问题的想法或者如何在django环境中实现单元测试的好例子?

另外,我在文档中读到Django在1.3中引入了unittest2所以“Django 1.1测试和调试 - 由Karen M. Tracey”是一个有用的读物​​还是你认为它会引起一些混乱?

无论如何,我提前感谢任何意见。

2 个答案:

答案 0 :(得分:5)

如果我可以插入自己的教程,它将介绍如何从头开始在Django中进行TDD。我采用与官方"相同的步骤。 Django教程,除了使用TDD的每一步。这包括使用Selenium进行完整的浏览器自动化测试(允许您从最终用户的角度测试行为,包括稍后包含javascript的可能性)。我还展示了如何使用Django TestClient进行单元测试...

http://tdd-django-tutorial.com

答案 1 :(得分:2)

Django在帮助您入门方面做得很好。它们概述了应该和不应该测试的内容,以及如何使用它们的一些内置测试类。 https://docs.djangoproject.com/en/dev/topics/testing/

此外,我建议django-nose测试跑步者。它有很多很棒的插件。

我认为一般约定是在每个应用程序中都有一个tests.py文件。

我个人会为我创建的每个函数编写至少1个测试。更多取决于逻辑的复杂程度。随着应用程序的发展,这些测试将发展为我的项目的回归测试。