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

单元测试 – 当新功能导致现有单元测试无效时该怎么办?

发布时间:2020-12-13 20:07:58 所属栏目:百科 来源:网络整理
导读:我正在建立一个新的应用程序,尽可能忠实地坚持“测试第一”的发展.我发现自己在需要实施/更改功能的情况下,该功能会使许多现有的单元测试无效.我该怎么处理这个?我看到,有3个选项: 更新或删除所有现有测试以满足新功能要求(如有必要,添加更多),然后实现该
我正在建立一个新的应用程序,尽可能忠实地坚持“测试第一”的发展.我发现自己在需要实施/更改功能的情况下,该功能会使许多现有的单元测试无效.我该怎么处理这个?我看到,有3个选项:

>更新或删除所有现有测试以满足新功能要求(如有必要,添加更多),然后实现该功能
>首先实施该功能,运行测试以查看故障,并更新或删除任何失败的测试(根据需要添加更多信息)
>添加新功能的新测试,
实现功能,运行所有测试
看到旧的失败,删除或
根据需要更新旧的测试

第一个选择遵守TDD,但可能会令人难以置信的反作用.第二个选择是最简单的,但是你不会先做出忠实的测试,可能没有被正确的“覆盖”.第三个选项是对一个学位的兼并和吸引力,但是当您可以更新旧的测试时,您会冒着重写测试的风险.

我不觉得我在这里有明确的策略.在这些情况下你做什么?

我会选择一个测试,并更改它以需要新的功能.如果没有明显的候选人,那就是真的是新的,我会创造一个.然后,我将编写代码以通过该测试.在那时我会运行我的其他测试,并注意到其中一些失败.在这一点上,我将重新审视每个测试,反过来修正测试以反映新功能(所以它将通过而没有其他代码更改)或更新关于新功能的测试(可能需要对测试代码).

(编辑:李大同)

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

    推荐文章
      热点阅读