在 Python 中强制单元测试用例为 ERROR

San*_*ket 1 python unit-testing python-unittest

我浏览了python的单元测试用例模块,发现有办法使用TestCase.fail()对象强制测试用例失败。但是我没有发现任何会迫使测试用例出错的东西。关于如何做到这一点的任何想法?

编辑:

更多解释

很久以前编写的测试脚本很少,我现在正在使用它们来测试固件。这些测试脚本使用 python 的 UnitTest 模块。测试脚本还导入了一堆其他用户编写的模块。所有这些用户编写的模块都很少抛出异常。因此,每当测试用例不从具有正确输入的用户编写的模块调用方法时,就会抛出异常。UnitTest 模块正确地将所有此类测试用例标记为错误。但是通过查看 UnitTest 模块的输出,它只是对生成异常的行的回溯,我并不能立即清楚,因为生成了异常的输入。所以我用try-except在测试脚本中构造以捕获异常并打印出作为异常原因的输入。但是由于我处理了异常,UnitTest 将这些测试用例标记为通过。raise正如@alecxe 所指出的,在 except 块中使用语句解决了这个问题。

ale*_*cxe 5

仅用于raise引发异常:

raise Exception('Manually raised exception')
Run Code Online (Sandbox Code Playgroud)

  • @Sanket 只是为了我们自己的好奇心:你用它做什么? (2认同)