· 内容一:设计和代码的可测试性
o 抽取接口,容许替换底层实现
o 在被测类中注入桩对象
o What’s testable design?
o Modular design
o SOLID design principles
o Modular design in context
o Test-driving toward modular design
o Testability issues
o Can’t instantiate a class
o Can’t invoke a method
o Can’t observe the outcome
o Can’t substitute a collaborator
o Can’t override a method
o Guidelines for testable design
o Avoid complex private methods
o Avoid final methods
o Avoid static methods
o Use new with care
o Avoid logic in constructors
o Avoid the Singleton
o Favor composition over inheritance
o Wrap external libraries
o Avoid service lookups
o 结合多个大型案例项目进行分析,如何通过重构代码,实现可测试性
|