pytest框架运用

import pytest
'''
运行方式
1. pytest -s test01.py  把print信息打印出来运行用例
2. 通过main运行

前置后置方法
1. 函数级 setup teardown
2. 类级别 setup_class teardown_class

插件
1. 生成测试报告
下载:pip install pytest-html
运行:pytest -s test01.py --html=report/report.html
2. 控制用例执行顺序
下载:pip install pytest-ordering
通过装饰器 @pytest.mark.run(order=-2)
规则:有正有负 正先执行
     同符号  越小优先级越高
3. 用例错误重新运行
下载:pip install pytest-rerunfailures
运行:pytest -s test01.py --reruns 3  
重新运行三次,如果还有问题报错
''' class TestStudy: def setup_class(self): print('-------->setup_class类级别做准备工作=======') def teardown_class(self): print('-------->teardown_class类级别做结束工作=====') #函数级别的setup和teardown def setup(self): print('-------->setup做准备工作') def teardown(self): print('-------->teardown做结束工作') @pytest.mark.run(order=-2) def test_01(self): print('---------->test01') assert 1 @pytest.mark.run(order=-11) def test_02(self): print('---------->test02') assert 0 if __name__ == '__main__': pytest.main(['-s','test01.py'])

运行结果

test01.py -------->setup_class类级别做准备工作=======
-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
R-------->setup做准备工作
---------->test02
-------->teardown做结束工作
F-------->setup做准备工作
---------->test01
-------->teardown做结束工作
-------->teardown_class类级别做结束工作=====
.

============================================================ FAILURES ============================================================
_______________________________________________________ TestStudy.test_02 ________________________________________________________

self = <test01.TestStudy object at 0x00000214164AF3A0>

    @pytest.mark.run(order=-11)
    def test_02(self):
        print('---------->test02')
>       assert 0
E       AssertionError

test01.py:44: AssertionError

 

posted @ 2020-08-31 21:55  程程111  阅读(208)  评论(0编辑  收藏  举报