安装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
测试用例全部运行通过
测试用例有用例未通过