当前位置 : 主页 > 手机开发 > 其它 >

语言无关 – 我应该更改代码以使其更易于测试吗?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是: 添加setter只是为了我可以将内部对象设置为mock. 为内部地图/列表添加getter,以
我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是:

>添加setter只是为了我可以将内部对象设置为mock.
>为内部地图/列表添加getter,以便在执行某些外部操作后检查对象的内部状态是否已更改.
>包装具体系统类并创建一个新界面,以便我可以模拟它们.例如,File类很难模拟 – 所以我将创建一个新的接口FileInterface和WrappedFile,它扩展它,然后使用FileInterface而不是File.

更改代码以使其更易于测试可能是一件好事,但前提是它使代码本身更好.重构可测试性可以使您的代码更好地独立于测试套件的需求.那是好的变化.

在你的三个例子中,只有#3是一个非常好的例子;通常,这些新接口将使您的代码更灵活,以便以后经常使用. #1通常用于通过依赖注入进行测试,在我看来,这会使代码变得更加复杂,但至少会使测试变得更容易. #2听起来总的来说是个糟糕的主意.

网友评论