pytest通过@pytest.mark.parametrize()方法设置参数。
import pytest import math #参数化 @pytest.mark.parametrize("a,b,c",[(2,3,4),(2,3,8)], ids = ["case1", "case2"]) def test_pow(a,b,c): assert math.pow(a,b)==c
二、运行测试的参数:
1、pytest -s test_parameterize.py : -s参数用于关闭捕捉、从而输出打印信息
2、pytest -v test_parameterize.py: -v参数增加测试用例冗长
3、pytest -q test_parameterize.py : -q 参数减少测试用例冗长
4、pytest -x test_parameterize.py : -x参数 如果出现一条测试用例失败,则退出测试。
5、pytest ./test_dir: 运行测试目录
三、生成HTML测试报告:
语句:py.test --html=./result.html :生成所有test_文件测试报告;pytest test_parameterize.py --html=/result.html生成指定文件测试报告html格式。
四、测试用例失败后重试
语句:pytest -v test_parameterize.py --reruns 3; 通过--reruns 设置重试次数。
五、测试用例并行
语法:pytest -q test_parallel.py --tests-per-worker auto
说明:容易导致测试运行失败。