这几天,我把构建之法的单元测试又重新看了遍,结合我过去开发代码的过程,和最近老师总是强调大家单元测试做的不好,不符合规范。我发现了自身对单元测试只是肤浅的了解。
我总是写完代码,测试几个用例正确就算过了,最多考虑一下各种情况,写写测试的表格。
书中指出:单元测试应该准确、快速地保证程序基本模块的正确性。下面是验证单元测试好坏的一系列标准:单元测试应该在最基本的功能/参数上验证程序的正确性。单元测试应该测试程序中最基本的单元—如在C++/C#/Java中的类,在此基础上,可以测试一些系统中最基本的功能点(这些功能点由几个基本类组成)。从面向对象的设计原理出发,系统中最基本的功能点也应该由一个类及其方法来表现。单元测试要测试API中的每一个方法及每一个参数。单元测试必须由最熟悉代码的人(程序的作者)来写。代码的作者最了解代码的目的、特点和实现的局限性。所以,写单元测试没有比作者更适合的人选了。
总之,要按书中所说,每个单元要写详尽的单元测试,虽然这会浪费很多时间,但对我们编程水平的提升有很大的好处。