单元测试和所有测试一样,是软件团队必须要做的事情。若编写单元测试对开发人员来说只是一个烦人的复选框,那么单元测试就不值运行它们所需的电费。
单元测试在设计良好的软件上最有效,具有良好的关注点分离和面向对象的风格。为一碗意大利面条代码编写单元测试是极其困难的,因此单元测试对每个代码库和每个开发人员都没有帮助。
单元测试最好由待测试模块的作者开发,并且应该在设计模块接口的同时开发。
单元测试有助于澄清模块接口的设计。如果单元测试在模块编写之后才完成,或者模块的作者没有完成,那么就失去了这种清晰性。
单元测试框架不是很有用。向每个类中添加一个静态成员函数用于测试,并使用100行调用代码,可以实现95%的测试。
我的个人经验是,在具有优秀单元测试的项目中,集成测试几乎是不需要的。
网友评论