作者在书中没有鼓吹TestNG如何好,这本书主要介绍的是作者的测试理念/junit中不舒服的地方,例如并发测试,DataProvider,测试依赖,将运行失败的用例汇总等. (并发测试可以通过GroboUtils&ConTest搞定; DataProvider在junit4中已经有相应的实现,Feed4JUnit. TimeOut, ExpectedException, InvocationCount在junit4中也有实现. 作者在书中对junit 类变量共享方式提出了多次质疑: 必须使用静态变量才能保证多个测试方法共享数据--junit的设计模式)
感觉书中 企业级测试和Java EE测试 章节很实用. 毕竟我工作经历中接触的都是遗留系统,这些系统的各个组件有可能依赖于DataSource, JMS, Servlet, JNDI,Socket等一些不易测试的组件. 作者在书中详细演示了如何重构, 测试这些代码. 实战价值非常高.
作者认为测试覆盖率并非越高越好,不能为了高覆盖率而大量写测试用例,而是要考虑这个需要被测试的代码是完成什么功能,是否真的需要测试: 简单的一眼都能看出逻辑是否正确的代码,不重要的代码和帮助类, 保证这些代码的覆盖率没有太大的用处. 我们应该更关注被测试的功能,保证这些功能的覆盖率,在实际编码中更有效率.
TDD 过于注重微观, 我个人不太喜欢TDD是因为增加了太多的代码量,每次重构太痛苦.一般是在基本定型之后才开始编写测试用例---这是反TDD模式.
还有对XP, 结对编程的看法--消极.
很推荐这本书!!!