pytest-2-不同参数含义
pytest用例执行时,会发现有很多的参数。例如:
1 # 定义测试集 2 args = ['-v', test_dir, '-s', '-n=4', '-q', '--alluredir', xml_report_path, 3 "--reruns=1", 4 "--reruns-delay=2"] 5 6 pytest.main(args)
这么多参数,对应什么意思呢
而且参数还不止这些,pytest --help可以查看所有参数
收集了部分常用参数
-
-s 打印用例中的print()
-
-k 执行指定关键字的用例
- 只执行所在目录下所有.py文件中包含所指定的关键字的用例,标题中的keyword就是指关键字。
test_learn.py:
# coding=utf-8 def test_func(x): print("1111") returnx + 1 def test_answer(): print("2222") #assert func(3) == 5
- 执行语句:pytest -s -k answer
- 只执行了test_learn.py里的test_answer()用例,test_learn.py里的其他用例以及其他.py文件里的用例全部没有被执行,因为它们都不包含answer。
- 如果是在main语句块里,则需要这样写pytest.main(["-s","-k=answer"])
- 在test_study.py里执行该语句,执行结果与在Terminal里是一样的
注意:
- pytest不管你在哪个文件里执行,只管你的执行语句,所以才会有我们在test_study.py里执行,但却没有执行test_study.py里的用例的情况
- pytest.main(["-s","-k=answer"])命令中,等号两端不能有空格
-
pytest -x test 运行遇到错误即停止
-
pytest -v test 打印测试详细信息
-
'-n=4' 并发执行用例
后续讲并发时会提到
-
"--reruns=1" 用例失败重试
-
"--reruns-delay=2" 用例失败重试间隔时间