赛博红兔的科技博客

CyberHongTu shares news, insights, and musings on fascinating technology subjects.


和我一起玩Python:34. Python单元测试

我们强调在Python中进行单元测试的重要性,解释了它在更新项目功能时节省时间并防止意外副作用的作用。我们使用一个简单的脚本myfunctions.py和test_myfunctions.py中的测试案例来演示单元测试,使用了Python的unittest模块。我们还讨论了断言方法、测试环境的设置和拆卸方法,以及测试的非顺序执行。引入了测试覆盖率的概念,强调高覆盖率并不总是意味着高质量的测试。我们提到了coverage模块,用于跟踪测试执行的代码行。

断言方法方法解释
assertEqual(a, b)检查a 和b 是否相等。
assertNotEqual(a, b)检查a 和b 是否不相等。
assertTrue(x)检查x 是否为True。
assertFalse(x)检查x 是否为False。
assertIs(a, b)检查a 和b 是否为同一对象(is)。
assertIsNot(a, b)检查a 和b 是否不是同一对象。
assertIsNone(x)检查x 是否为None。
assertIsNotNone(x)检查x 是否不是None。
assertIn(a, b)检查a 是否在b 中。
assertNotIn(a, b)检查a 是否不在b 中。
assertIsInstance(a, b)检查a 是否为b 类型的实例。
assertNotIsInstance(a, b)检查a 是否不是b 类型的实例。
assertAlmostEqual(a, b)检查a 和b 是否近似相等(适用于浮点数比较)。
assertNotAlmostEqual(a, b)检查a 和b 是否不近似相等(适用于浮点数比较)。
assertRaises(Error, func, *args, **kwargs)检查当调用func 时是否抛出了Error 异常。


Leave a comment