gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 01:53:17 28 4
gpt4 key购买 nike

我正在构建一个新的应用程序,并尽可能忠实地坚持“测试优先”的开发。我发现自己处于需要实现/更改具有使许多现有单元测试无效的效果的功能的情况下。我该如何处理?在我看来,有 3 个选项:

  • 更新或删除所有现有测试以满足新功能要求(根据需要添加更多),然后实现功能
  • 首先实现该功能,运行测试以查看失败,然后更新或删除任何失败的测试(根据需要添加更多)
  • 为新功能添加新测试,
    实现该功能,运行所有测试
    看到旧的失败,删除或
    根据需要更新旧测试

  • 第一个选项坚持 TDD,但可能会适得其反。第二个选项是最简单的,但您不会首先忠实地进行测试,并且可能不会被正确“覆盖”。第三种选择是两者的折衷方案,并且在一定程度上具有吸引力,但是当您本可以更新旧测试时,您冒着重新编写测试的风险。

    我觉得我在这里没有任何明确的策略。在这些情况下你会怎么做?

    最佳答案

    我会选择一项测试并将其更改为需要新功能。如果没有任何明显的候选者,即它确实是新的,我会创建一个。然后我会编写代码以通过该测试。那时我会运行我的其他测试,并注意到其中一些失败了。在这一点上,我将依次重新访问每个测试,要么更正测试以反射(reflect)新功能(因此它不会在没有其他代码更改的情况下通过)或更新关于新功能的测试(这可能需要对新功能进行一些进一步的更改)测试中的代码)。

    关于unit-testing - 当新功能导致现有单元测试无效时该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1295675/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com