| · 内容一:设计和代码的可测试性 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 结合多个大型案例项目进行分析,如何通过重构代码,实现可测试性 |