我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是:
>添加setter只是为了我可以将内部对象设置为mock.
>为内部地图/列表添加getter,以便在执行某些外部操作后检查对象的内部状态是否已更改.
>包装具体系统类并创建一个新界面,以便我可以模拟它们.例如,File类很难模拟 – 所以我将创建一个新的接口FileInterface和WrappedFile,它扩展它,然后使用FileInterface而不是File.