Django和TDD

Django是一种敏捷的高级开发框架,在敏捷开发框架中Testing是非常重要的 ,在Django的最trunk中,已经加入了完成的Testing功能,这里并不想描述Testing怎么使用,Testing文档已经非常详细了。

在使用Django之前,我对测试还是一头雾水,只是了解一点敏捷开发。但使用Django后,我发现Django是在“强制”你做各种测试。

要开发Django的应用,首先需要定义Model,并且在Modle中定义数据表项,根据Django的设计哲学,在Model中封装所有的领域逻辑,领域逻辑是设计模式的一种,不太懂的google一下。这样的你就可以通过Testing来对你的Model进行测试了。除了对Model进行Testing外,你还可以对newforms进行测试,虽然newforms使用起来并不简单,有时会感觉到大才小用,但通过Testing可以保证你的newforms的正确性,而且可以封装一些业务逻辑,当表单校验成功后,可以执行某一个方法来完成某个业务逻辑。

除了对Models进行测试外,Django还提供Test Client,用于对Http级的内容进行测试,这样连View也一快测试了。

而且,Django现在支持doctests和unit tests,doctest是python的测试框架,非常“pythonic”,呵呵。

总之,不管是有意还是无意的Django都在“强迫”你做TDD,这样能让你的开发更加敏捷。

分享到: 更多