gpt4 book ai didi

unit-testing - TDD - 我应该为此功能编写哪些测试?

转载 作者:行者123 更新时间:2023-11-28 19:51:31 25 4
gpt4 key购买 nike

我读到我应该首先编写简单的基本测试,然后逐渐转向更难的测试。我应该为以下功能编写哪些测试(按顺序)?

函数 List.syncWithList(lst)

  • 应该将任何不在列表中但在 lst 中的项目添加到列表中
  • 应该删除列表中不在 lst 中的任何项目
  • 应该替换列表中版本标签与 lst
  • 中版本标签不同的任何项目
  • 不应替换列表中与 lst
  • 中版本标签相同的任何项目

最佳答案

您的基本测试列表。您刚刚将它们提供给我们。至少,您应该测试是否满足了每个功能要求(例如,您在问题中给我们的四点)。

除此之外还有边缘情况,例如空列表(在一侧和两侧)、相同列表等。

开始的最简单方法是添加以下内容:

  • 两边都是空列表。
  • 相同的列表。
  • 空左列表,要添加一个单元素右列表。
  • 单元素左列表,右列表为空,要删除。
  • 前两个测试,但一侧有五个元素列表。
  • 替换单元素左列表中的一个元素。
  • 替换五元素左列表中的一个元素。
  • 替换五元素左列表中的三个元素。
  • 检查没有对相同版本标签进行替换。

然后在遇到个别问题时添加更多内容。

我怎么强调都不为过:自动化您的测试!您会发现,当您只需按下一个按钮并查看结果时,测试就容易多了。每次遇到错误时,将可以捕获该错误的测试添加到上面的测试套件中,然后按按钮进行验证。

我们将测试归结为一门艺术。只需一个命令,整个过程就会到位,包括清除数据库、用已知数据加载它们、运行我们的测试、将输出与之前成功的测试进行比较等等。

如果我们每次进行更改时都必须手动执行所有这些操作,我们很快就会放弃整个想法。通过自动化一切,测试变得轻而易举。

关于unit-testing - TDD - 我应该为此功能编写哪些测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225920/

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