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

单元测试 – 某些逻辑路径本身是不可测试的吗?

发布时间:2020-12-14 04:54:48 所属栏目:百科 来源:网络整理
导读:我一直在使用TDD来推动我目前正在进行的项目,结果相当令人满意.我确实遇到了一个问题(描述 here;仍然没有解决方案或任何建议!),其中某些特定方法的某些方面可能无法进行测试(如 my example;简而言之,我希望能够处理一个具有特定ErrorCode的ManagementExcept
我一直在使用TDD来推动我目前正在进行的项目,结果相当令人满意.我确实遇到了一个问题(描述 here;仍然没有解决方案或任何建议!),其中某些特定方法的某些方面可能无法进行测试(如 my example;简而言之,我希望能够处理一个具有特定ErrorCode的ManagementException – 但我似乎不可能设置一个抛出类似ManagementException的测试.

那么,如何应对呢?我们是否只是接受这样一个事实,即某些逻辑路径是不可测试的(因为我们正在使用的框架或当前可用的测试框架中的限制)?

解决方法

有些设计不适用于可测试性,尤其是那些没有可测试性作为设计目标之一的设计.通常TDDed设计不属于这一类.

为了回答您的原始问题,我发布了一个响应,其中涉及使用反射来插入请求的错误代码.但是,这可能并不适用于所有情况,也不是一般解决方案.

这里的权衡是编写测试的努力与在自动化测试下使用特定代码片段的好处.如果您认为成本效益比很大且失败的可能性微乎其微,您可以将其作为特殊的手动测试,对未来的开发人员进行评论并立即手动验证.我说要务实,如果你花了30-40分钟开发人员的大脑时间试图让它受到考验,也许你需要退后一步并重新考虑你的策略.看看Michael Feather的“有效地使用遗留代码”,就克服可测试性障碍的一些建议.

(编辑:李大同)

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

    推荐文章
      热点阅读