加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:59:18 所属栏目:百科 来源:网络整理
导读:我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是: 添加setter只是为了我可以将内部对象设置为mock. 为内部地图/列表添加getter,以便在执行某些外部操作后检查对象的内部状态是否已更改. 包装具体系统类并创
我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是:

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读