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里是一样的
注意:
  1. pytest不管你在哪个文件里执行,只管你的执行语句,所以才会有我们在test_study.py里执行,但却没有执行test_study.py里的用例的情况
  2. pytest.main(["-s","-k=answer"])命令中,等号两端不能有空格

 

  • pytest -x test 运行遇到错误即停止

  • pytest -v test 打印测试详细信息

  • '-n=4'   并发执行用例

    后续讲并发时会提到

  • "--reruns=1" 用例失败重试

  • "--reruns-delay=2" 用例失败重试间隔时间

posted @ 2021-08-05 11:05  Mollylin  阅读(99)  评论(0编辑  收藏  举报