这两年都在写Web程序,成天都是干前端、美工的活,想用测试驱动一下没有机会。春节写了一个算是程序的东西,基本上算是把测试驱动贯彻下来了,程序的逻辑几乎全是用单元测试完成的。svn到现在也有40个版本了,所有测试用例都还能够工作。比较满意,记录一下自己的感想:
- 不要图方便,测试用例数据和程序数据必须保持相对独立性。写单元测试的时候,数据库中可能有些demo数据甚至真实数据。用它们来做测试的确是方便,但这给以后的测试带来不确定因素,开发后期数据可能要变,甚至都如使用后还需要修改程序,那这些测试就都不能用了。所以,这次我测试的数据全部采用的测试数据,在setup中添加,在teardown中删除。费了一点劲,但比较踏实。
- 我喜欢用Testdriven.net,和vs2005搭配实在完美。可以运行带debugger的测试。nunit自带的程序,除了拿来运行整体的测试外,开发中几乎可以不用了。
- 测试中,可以用Console输出一些信息,特别是一个类最好输出一个信息,在nunit程序中,便于查看输出。