python - 说单元测试失败但仅仅因为测试脚本被破坏的正确方法是什么?
问题描述
我正在寻求有关术语的帮助来解释单元测试失败是因为测试脚本本身有错误。“这个单元测试失败是因为……”这句话通常意味着测试脚本是正确的,而被测函数是不正确的。我正在寻找相反的方法。
背景:我在 Python 3.x 中对一堆作业进行评分,学生必须定义一些类和子类,同时还要在 Pytest 中提供单元测试。我想给出简洁但正确的反馈。
解决方案
作为一名 SDET,我经常需要区分坏/损坏的测试和坏的产品代码。我们通常通过讨论需要解决哪些问题才能通过测试(同时仍然是一个有用且有效的测试)来做到这一点。
无论失败的根源是什么,您仍然在谈论代码失败。在这两种情况下(如果您花时间识别和隔离原因),您可以说“由 file.py 的第 n 行的错误引起”或“file.py 的函数 f 中的错误”。然后,我们正在讨论的文件暗示了我们是否正在处理由错误的产品代码或错误的测试代码引起的故障。
您可以通过解释为什么该代码是问题的根源来加强这种暗示。一些人为的例子看起来像:
由于 test.py 第 5 行的错误,测试 n 失败。
assert False
总是会失败,并且不会有意义地测试 class.py 中的任何内容。
由于 class.py 第 20 行的错误,测试 n 失败。
sub(a, b)
应该返回a - b
而不是a + b
推荐阅读
- r-markdown - Beamer Rmarkdown:特定幻灯片没有页码
- php - 在带有 HTML 的 TWIG 短格式 if/else 语句中显示变量
- c++ - 如何在字符串数组上使用 toupper 或 tolower 函数
- azure - Azure Webjobs 控制面板?
- python-3.x - 是否可以从 wxPython 中的 wx.Panel 动态销毁每个孩子?
- c# - 当表存在时,代码优先的 EntityFrameworkCore.Sqlite 3.1.1 上的“没有这样的表”
- android - 如何从多个json对象中获取数据
- r - 在 ggplot2 中绘制线图时出错,我认为它以某种方式无法正确分组我的组
- python - 如何在一个键上比较来自两个不同月份的数据帧
- ruby-on-rails - 在同一列上使用 GIN 和唯一索引