我正在寻求术语帮助来解释单元测试失败是因为测试脚本本身有错误。语句“此单元测试失败,因为...”通常意味着测试脚本是正确的,而被测试的函数是不正确的。我正在寻找相反的方法。
上下文:我正在对 Python 3.x 中的一堆作业进行评分,其中学生必须定义一些类和子类,同时还在 Pytest 中提供单元测试。我想给出简洁但正确的反馈。
作为 SDET,我经常需要区分糟糕/损坏的测试和糟糕的产品代码。我们通常通过讨论测试通过需要修复什么(同时仍然是一个有用且有效的测试)来做到这一点。
无论失败的根源是什么,您仍然在谈论代码中的失败。在这两种情况下(如果您已花时间识别并隔离原因),您可以说“由 file.py 的第 n 行上的错误引起”,或“file.py 的函数 f 内的错误”。然后,我们正在讨论的文件暗示我们是否正在处理由错误的产品代码或错误的测试代码引起的故障。
您可以通过解释为什么该代码是问题的根源来强化这一含义。一些人为的例子看起来像:
由于 test.py 第 5 行的错误,测试 n 失败。
总是会失败,并且不会对 class.py 中的任何内容进行有意义的测试。assert False
由于 class.py 第 20 行的错误,测试 n 失败。
应返回sub(a, b)
而不是a - b
a + b
数字 = [1, 2, 3, 4, 5]
结果 = [num * 10,其中 num 为数字]
打印(结果)