Python 如果没有断言任何内容,pytest能否失败?

Python 如果没有断言任何内容,pytest能否失败?,python,pytest,assert,Python,Pytest,Assert,今天我考试不及格,很高兴成功了,因为我忘了最后一句相当重要的话: assert actual == expected 我想让机器在将来发现这个错误。有没有一种方法让PyTest检测一个测试函数不声明任何东西,并认为这是一个测试失败? 当然,这需要一个“全局”配置设置;如果未断言任何内容,则用@fail\u注释每个测试函数将违背此目的。这就是为什么在编写代码以使测试通过之前编写失败测试确实有帮助的原因之一。这是一个额外的一点健全检查您的代码 此外,第一次通过测试时,如果没有编写代码使其通过,这也

今天我考试不及格,很高兴成功了,因为我忘了最后一句相当重要的话:

assert actual == expected
我想让机器在将来发现这个错误。有没有一种方法让PyTest检测一个测试函数不声明任何东西,并认为这是一个测试失败?


当然,这需要一个“全局”配置设置;如果未断言任何内容,则用
@fail\u注释每个测试函数将违背此目的。

这就是为什么在编写代码以使测试通过之前编写失败测试确实有帮助的原因之一。这是一个额外的一点健全检查您的代码


此外,第一次通过测试时,如果没有编写代码使其通过,这也是一个很好的双重考验。

那么,您想测试测试吗?我看到出现了一个递归问题。如果引发异常的测试不使用断言,会发生什么情况?@IgnacioVergaraKausel如果该异常是预期的,那么它将被测试,因此它是一种断言。如果不是预期的,那么显然是测试失败。这些测试已经被“测试”了,从这个意义上说,它们必须是有效的代码,并生成绿色代码。这只是一个小的额外的精神检查。我曾经使用过一个测试框架,它可以开箱即用,尽管我不记得它是哪一个。很好。为了论证起见,想象一下,某个假想的人会不时地假设在编写实现之后编写测试。“这个假想的人和任何现存的人,活着的或死去的人之间的任何相似之处,当然纯粹是巧合。@Thomas,我想我认识这个假想的人!”!公平地说,我确实在Pytest周围快速浏览了一下,看看是否有可能,因为我对自己在很多时间后测试感到非常内疚。