我们强调在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