使用反射方式实现测试代码的编写,应当要求保持最少的与源码之间的相关性.
即测试部分与源码的相对独立性
使用构造的数据. 在不存在指针下, 用代理也是一种很好的方式.
假数据的构成是一个有趣,而又有技巧的东西.
偷偷的替换, 很多时候必须构造相同的类型来进行测试. 而提取接口是一种很好的解决方式.
对对话框进行单元测试时, 有一个Show时运行时跳出, 应当避过或者模拟其行为得到所需的结果; 常用的方式是使用delegate处理.
静态类太多不利于单元测试假数据的构造. 静态的类太多, 并不是一件好事.
它存在的时间也最久. 不利于垃圾回收机制自动的回收.而且对于单元测试的数据是有很大的影响的. 主要是在一个测试单元构造的数据,在下一个测试单元运行还同时存在.
所以在构造时, 单元测试结束时的清空很重要.
完成ListView的控件的单元测试构造,把Items中的东西加入SelectItems中,除了设置其中的Item的属性Selected为TRUE外,还必须取一次handler的值后,其Item才能加入SelectItems中。(不知其因, 在 vs2003下)
有时使用序列化也是一种很好的手, 但是序列化的要求较高, 对变化的改变较慢需要不断的更新.
以上使用vs2003, nunit 2.2.