gpt4 book ai didi

java - 单元测试什么

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:37:15 24 4
gpt4 key购买 nike

<分区>

我有点困惑我应该在单元测试上投入多少。

假设我有一个简单的函数,例如:

appendRepeats(StringBuilder strB, char c, int repeats)

[此函数会将字符 c 重复次数附加到 strB。例如:

strB = "hello"
c = "h"
repeats = 5
// result
strB = "hellohhhhh"

]

对于这个功能的单元测试,我感觉已经有很多可能性了:

  • AppendRepeats_ZeroRepeats_DontAppend
  • AppendRepeats_NegativeRepeats_DontAppend
  • AppendRepeats_PositiveRepeats_Append
  • AppendRepeats_NullStrBZeroRepeats_DontAppend
  • AppendRepeats_NullStrBNegativeRepeats_DontAppend
  • AppendRepeats_NullStrBPositiveRepeats_Append
  • AppendRepeats_EmptyStrBZeroRepeats_DontAppend
  • AppendRepeats_EmptyStrBNegativeRepeats_DontAppend
  • AppendRepeats_EmptyStrBPositiveRepeats_Append
  • 等ETC。strB 可以为 null 或为空或具有值。c 可以为 null 或具有值重复可以是负数、正数或零

这似乎已经有 3 * 2 * 3 = 18 个测试方法。如果这些函数还需要测试特殊字符、Integer.MIN_VALUE、Integer.MAX_VALUE 等,那么其他函数可能会更多。我的止损线应该是什么?为了我自己的程序,我应该假设:strB 只能为空或有值c 有值(value)repeats 只能为空或正数

抱歉打扰了。只是真的很困惑我应该如何偏执地进行一般的单元测试。我应该留在我的假设范围内还是那是不好的做法,我是否应该为每个潜在案例都有一个方法,在这种情况下,单元测试方法的数量将以指数方式快速增长。

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