柚子Nan--回归原点

Everything can be as easy as you like or as complex as you need.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于如何将TDD应用于Duwamish 的思考和探讨

Posted on 2004-03-16 14:25  柚子Nan  阅读(890)  评论(1编辑  收藏  举报

目前,我研究了一段的TDD,也看了一本好书《Test Driven Development : By Example》.还没有结束:)总体感觉这本书的前半部分写的还是比较乱:)可能是我的英文水平还没有到达。
我们公司目前采用模拟Duwamish五层架构的开发,对于一个简单的功能,比如客户的创建,就会有5个Class来支持,我怎么写测试代码??

目前,我看到的几乎所有的例子,都是在一个class中完成,比如NUnit自带的例子,Account,那么他对应的是一个AccountTest的Class。我现在分析一下五层架构的东西,征求各位大虾的意见,如何写测试代码?

1、最下层的Data层,好像没有什么好测试的?

2、DataAccess,这个层测试起来也比较困难,为什么呢?每个类都有一定的函数调用,处理相关的业务实体的CRUD操作。

3、BusinessRule层验证了一下数据库的字段长度,Email地址是否有效,客户是否存在等等。

4、BusinessFacade,又称BusinessSystem层,起到一个proxy的作用,好像也没有什么可以测试的?

5、Web层,这里就是页面了,采用了PageBase的方法。具体到客户这里,就是增加一个客户了,做一些简单的页面控制。

这样总结下来,我觉得只有在BusinessRule层进行测试了。

通过最近一段的研究,明白了测试代码和真实代码的界限问题

比如说,关于Email的验证
我在实际代码中,要检查Email是否正确,当然也要给出相应的提示错误信息!如果正确,会怎样?错误会怎样等等。

那么我在测试代码中就放一些合法的地址和一些非法的地址,执行这段代码,看是否得到了实际代码中期望的值!