您如何测试Python函数引发异常?
我们编写一个仅在函数未引发预期异常时失败的单元测试。
我们还测试了Python函数是否引发异常。
例如,请参阅我们粘贴到Pythonshell中的示例代码以测试Python的类型安全性:
示例
import unittest
class MyTestCase(unittest.TestCase):
def test_1_cannot_add_int_and_str(self):
with self.assertRaises(TypeError):
1 + '1'
def test_2_cannot_add_int_and_str(self):
import operator
self.assertRaises(TypeError, operator.add, 1, '1')
unittest.main(exit=False)运行测试
输出结果
终端输出以下内容-
.. ---------------------------------------------------------------------- Ran 2 tests in 0.001s OK
测试人员将assertRaises用作上下文管理器,以确保在记录错误的同时正确捕获并清除该错误。
我们也可以不使用上下文管理器来编写它,请参见测试二。第一个参数是您希望引发的错误类型,第二个参数是您要测试的函数,其余的args和关键字args将传递给该函数。
仅使用上下文管理器就更简单易读。
我们看到了,正如我们期望的那样,尝试将1和'1'相加会导致TypeError。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下