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

前端之家收集整理的这篇文章主要介绍了单元测试 – 当新功能导致现有单元测试无效时该怎么办?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立一个新的应用程序,尽可能忠实地坚持“测试第一”的发展.我发现自己在需要实施/更改功能的情况下,该功能会使许多现有的单元测试无效.我该怎么处理这个?我看到,有3个选项:

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

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

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

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

猜你在找的设计模式相关文章