全面接触TDD - 1. 第一个基于TDD的程序

一、要记住的一些东西
1. 首先要明确用户的需求,然后列出需求,首先写测试代码。(也就是先从用户这方调用功能)
2. 看到红灯,则明白需要写程序代码。即写功能代码。
3. 一直到绿灯,然后看是否需要重构。
4. 在重构过后,继续写测试代码,增加用户功能调用,然后重复上述过程,就是测试驱动开发的力量。
5. 测试代码比文档更具有说服力,不仅让用户让测试程序员更加明白你的类是如何使用的。
6. Kent Beck把TDD定义为以下两个简单的规则:1)除非你在自动测试中失败,否则一行代码也不要写;2)消除重复(包括测试代码在内)。

二、第一个基于TDD的程序
(1)需求:一个保存文章的类Article,用于我以后将会开发的Web项目中。此Article类包括功能如下:
1. 创建一个Article,IsDirty为false;
2. 修改Article的Title后,IsDirty为true;
3. 修改Article的Title后,要查看是否真的修改了Title的值;
4. 调用Article的Save后,IsDirty为false,可代表已将文章保存到数据库中。
其它的功能,以后的文章中会渐进地实现。

(2)编写测试代码(使用了VS2005中的测试项目)

ArticleTest

使用NUint编写的单元测试

ArticleTestWithNUnit

根据测试代码一步步完善的Article代码

Article


本文参考了Visual Studio 2005 Team System的测试驱动开发

posted @ 2007-01-29 20:32  MK2  阅读(571)  评论(0编辑  收藏  举报