加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

单元测试 – TDD – 我应该为此功能编写哪些测试?

发布时间:2020-12-14 04:53:52 所属栏目:百科 来源:网络整理
导读:我已经读过,我应该首先编写简单的基本测试,然后逐渐转向更难的测试.我应该为以下功能编写哪些测试(按顺序)? 函数List.syncWithList(lst) 应该在列表中添加任何不在列表中但是在lst中的项目 应删除列表中不属于lst的任何项目 应该替换列表中具有不同于lst中
我已经读过,我应该首先编写简单的基本测试,然后逐渐转向更难的测试.我应该为以下功能编写哪些测试(按顺序)?

函数List.syncWithList(lst)

>应该在列表中添加任何不在列表中但是在lst中的项目
>应删除列表中不属于lst的任何项目
>应该替换列表中具有不同于lst中的版本标签的任何项目
>不应该替换列表中与lst中版本标签相同的任何项目

解决方法

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

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

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

>双方空单.
>相同的清单.
>清空左侧列表,其中包含要添加的单元素右侧列表.
>单元素左侧列表,其中包含要删除的空右侧列表.
>前两个测试,但一方面有五个元素列表.
>替换单元素左侧列表中的一个元素.
>替换左边五元素列表中的一个元素.
>替换五元素左侧列表中的三个元素.
>检查相同版本标签上是否没有替换.

然后在解决个别问题时添加更多内容.

我不能强调这一点:自动化测试!只需按下按钮并查看结果,您就会发现测试更容易.每当你发现一个bug时,添加一个测试,它会把这个bug发现到上面的测试套件中,然后按下按钮进行验证.

我们将测试归结为精美的艺术品.使用一个命令,可以实现整个流程,吹走数据库,使用已知数据加载数据库,运行测试,将输出与先前成功的测试进行比较等等.

如果我们在做出改变时必须手动完成所有操作,我们很快就会完全抛弃这个想法.通过自动化一切,测试是轻而易举的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读