安装pytest:
$ sudo apt install python3-pip
$ pip3 install pytest
源码:
import pytest
'''
使用pytest的parametrize定义一组测试数据
'num1,num2,num3,expect' :元组的第一个元素用来定义测试数据的变量名称,在测试用例中可以直接引用个,多个变量名称之间使用“,”进行分割
[(1, 3, 5, False),(3, 4, 5, True),(4, 5, 6, True)]:第二个元素是一个列表,列表的每一个元素作为一组测试数据,与变量名称一一对应
ids=['case1', 'case2', 'case3']:第三个元素是ids的参数,其元素的个数与第二部分列表的元素个数相对应,用来定义测试用例的名称
'''
@pytest.mark.parametrize(
'num1,num2,num3,expect',
[
# (1, 3, 5, True),
(1, 3, 5, False),
(3, 4, 5, True),
(4, 5, 6, True)
], ids=['case1', 'case2', 'case3']
)
def test_sum(num1, num2, num3, expect):
'''
判断三边能否构成一个三角形
'''
flag = num1 + num2 > num3 and num1 + num3 > num2 and num3 + num2 > num1 or (num1 - num2 < num3 and num1 - num3 < num2 and num3 - num2 < num1)
assert flag == expect
终端运行脚本:python3 -m pytest pytestDemo.py
测试用例全部运行通过
测试用例有用例未通过