代码重构成这样基本可以很好的测试,因为各种处理逻辑暴露出来的,同时代码也具有更好的扩展性了。

  3.3 模板模式的运用(Template)

  先看一下原来的类,这里看一下真实的代码:

  划红线的方法是这个类中的private方法,可以看到如果要对这个类的work()方法进行测试是多么困难,work()如果加上这些private方法大概有150多行,而且work()前面有一部分代码是去下载文件,单测初始化工作也不好做,因为后续的操作多次要处理这个文件,要覆盖各种情况需要准备不同情况的文件。