上一篇介绍了如何运行pytest代码,以及用例的一些执行规则,执行用例发现我们中间print输出的内容,结果没有给我们展示出来,那是因为pytest执行时,后面需要带上一些参数。

参数内容

我们可以在cmd中通过输入 pytest -h 或者pytest --help 来查看帮助内容

奈何安静屏幕小,只写了一部分。

pytest---用例执行参数_pytest

安静这么多一点点的给大家介绍,有的安静也没有遇到过,在后续遇到后,给大家分享,安静先把常用的给大家列出来,并且举例说明

安静简单的用一段代码进行展示,后面有需要补充的,安静会进行在代码中补充。

import pytestclass Test_01:    def test_001(self):        print('Test_01下的用例001')        assert  1 == 1    def test_002(self):        print('Test_01下的用例002')        assert  1 == 2    def test_003(self):        print('Test_01下的用例003')        assert 3 == 3if __name__ == '__main__':
    pytest.main()
pytest - s

-s:执行用例,携带详细信息,比如打印的print内容

通过cmd进行执行,发现已经详细内容展示出来了

pytest---用例执行参数_pytest_02

pytest -x

-x:遇到错误的用例,立即退出执行,并输出结果

pytest---用例执行参数_pytest_03

从上图可以看到一共3条用例,执行了2条,其中执行到第2条的时候就已经程序就退出了。

pytest -k

-k:表示加需要执行的用例项,-k后面可以是测试函数名,也可以是类名,也可以是模块名,以及目录名称

pytest---用例执行参数_pytest_04

也可以通过加入not来不执行一些用例,这里的not要和用例名放在一起用引号

pytest---用例执行参数_pytest_05

pytest xxx.py

::类::用例:可以通过这种形式进行指定用例执行

pytest---用例执行参数_pytest_06

pytest -m

-m:执行被标记的用例

标记需要用到pytest中的装饰器  @pytest.mark.标记名称 

import pytestclass Test_01:
    
    @pytest.mark.anjing    def test_001(self):        print('Test_01下的用例001')        assert  1 == 1    def test_002(self):        print('Test_01下的用例002')        assert  1 == 2
        
    @pytest.mark.anjing    def test_003(self):        print('Test_01下的用例003')        assert 3 == 3if __name__ == '__main__':
    pytest.main()

pytest---用例执行参数_pytest_07

pytest -v

-v:表示查看详细的报告内容

pytest---用例执行参数_pytest_08

pytest -q

-q:表示简则的测试报告,运行成功通过“.”表示,运行失败通过"F"表示

pytest---用例执行参数_pytest_09

pytest --collect-only

--collect-only:表示把待执行的用例全部展示出来。

pytest---用例执行参数_pytest_10

pytest --maxfail=n

--maxfail=n:其中n表示失败的次数,运行失败n次后,进行停止测试

# coding:utf-8class Test:    def test_01(self):        print('这是用例01')        assert 1 == 1    def test_02(self):        print('这是用例02')        assert 1 == 2    def test_03(self):        print('这是用例03')        assert 3 == 4    def test_04(self):        print('这是用例04')        assert 4 == 4

pytest---用例执行参数_pytest_11

pytest --lf

--lf:只执行上次失败的用例

pytest---用例执行参数_pytest_12

pytest --tb

--tb=no:不展示用例失败的错误详情

pytest---用例执行参数_pytest_13

--tb=line:展示用例失败的代码具体行数。下图结果是在11行

pytest---用例执行参数_pytest_14

 --tb=short:展示更加详细的错误信息

pytest---用例执行参数_pytest_15

pytest --duration

--duration=N:表示把最耗时间的用例展示出来,N表示最慢的N个

安静的代码运行都很快,把其中一个代码加上睡眠,从图中可以看出来,test_01文件中的test_03运行最慢。

pytest---用例执行参数_pytest_16

 

安静简单的列举了常用的几种,大家如果还想要了解可以查阅官方文档和进行pytest -h 查看详情