微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我经常发现自己更改代码以使其更易于测试,我总是怀疑这是否是一个好主意.我发现自己做的一些事情是:

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐