gpt4 book ai didi

unit-testing - 单元测试复杂逻辑

转载 作者:行者123 更新时间:2023-11-28 21:13:47 40 4
gpt4 key购买 nike

对每个后置条件的测试与其他后置条件的测试非常相似的相对复杂的方法进行单元测试的最佳方法是什么?前置条件很容易单独测试,但是要进行大量设置以确保它们都成立,以便可以测试后置条件。我想到的三种方法是:

  1. 创建一个可以同时测试所有内容的通用函数,但默认为最简单的场景。此函数将采用标志参数,指示与最简单场景的偏差。然后,为每个后置条件(或组合)创建一个单元测试,使用适当的标志调用该函数以覆盖该后置条件。这里的好处是几乎没有代码重复,所以如果被测代码发生变化,只需要重写一个测试函数;并且编写测试来覆盖后置条件组是微不足道的,但缺点是一般测试功能非常复杂
  2. 为最简单的场景做一个单元测试,然后复制、粘贴和修改。好处是每次测试都非常简单。缺点是原始测试的问题需要修复的次数与粘贴的次数一样多。
  3. 编写一个通用函数,允许通过将函数作为参数来覆盖各种细节,但默认情况下测试最简单的场景。好处类似于带有标志的一般函数的好处,但我认为将它们全部啮合在一起可能会更复杂。

第四个选项是“你做错了;将被测试的方法分解成更容易测试的部分!”

有什么想法吗?

最佳答案

我之前的评论有点开玩笑。

从广义上讲,我实际上提倡的是执行您列为选项 2 的操作,然后重构您的测试代码以消除您通过复制-修改工作创建的重复。

完成所有测试后,您可能会寻找重构生产代码的方法,将其分解为更小且更易于管理的部分,并使这些部分可重用。但在进行重大更改之前进行测试总是有益的。

关于unit-testing - 单元测试复杂逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368089/

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