用unittest写一套最简单的数据驱动的测试实例
时间: 2024-03-14 14:46:51 浏览: 63
好的,以下是一个最简单的数据驱动的unittest测试实例:
```python
import unittest
class TestMath(unittest.TestCase):
def test_addition(self):
test_cases = [
(1, 2, 3),
(0, 0, 0),
(-1, 1, 0),
(0.1, 0.2, 0.3)
]
for a, b, expected in test_cases:
with self.subTest(a=a, b=b, expected=expected):
result = a + b
self.assertEqual(result, expected)
if __name__ == '__main__':
unittest.main()
```
这个测试案例使用了unittest框架,并测试了加法运算。我们创建了一个包含四个测试用例的列表,每个测试用例都是一个元组,包含两个加数和一个预期结果。我们使用for循环遍历测试用例,并计算实际结果。然后,我们使用assertEqual()函数检查实际结果是否与预期结果相等。如果测试通过,则不会有任何输出,否则会输出失败消息,以便我们可以检查问题并进行修复。
在这个测试案例中,我们使用了unittest的数据驱动功能,即使用for循环遍历测试用例。为了使测试结果更加清晰,我们使用了with self.subTest()上下文管理器,并传入测试数据。这样,当测试用例失败时,unittest会输出具体的测试数据,方便我们进行调试。
要运行这个测试案例,我们可以在命令行中执行以下命令:
```
python test_math.py
```
这会自动运行测试,并输出测试结果。
阅读全文