python之pytest基础

pytest简介:
pytest 是 python 的第三方单元测试框架,比自带的 unittest 更简洁和高效,同时兼容 unittest 框架。它还有如下优点:
1、简单灵活,容易上手,文档丰富;
2、支持参数化,可以细粒度地控制要测试的测试用例;
3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
5、测试用例的skip和xfail处理;
6、可以很好的和CI工具结合,例如jenkins。
pytest是python的一个第三方类库,可以直接使用pip install pytest 在线安装,或者下载离线包安装。
 
pytest测试用例编写规则:
1、测试文件以test_开头(满足test_*.py格式或*_test.py格式)
2、测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的)
3、测试函数以test_开头,在单测类中,可以包含一个或多个test_开头的函数。在执行pytest命令时,会自动从当前目录及子目录寻找符合上述约束的测试函数来执行
4、断言必须使用 assert
 
pytest中的fixture:
fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面。
fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活。
fixture是基于模块来执行的,每个fixture的名字就可以触发一个fixture的函数,它自身也可以调用其他的fixture。
 
运行时:
在控制台第一次运行方式,生成数据:py.test test_report.py   --alluredir report
在控制台第二次把数据生成报告:allure generate report/ -o report/html
运行生成allure报告:
py.test --alluredir rults
allure generate rults -o rults/html
 

posted on 2021-05-19 09:36  心品茗香  阅读(246)  评论(0编辑  收藏  举报

导航