一、pytest单元测试框架
(1)什么是单元测试框架
单元测试是指在软件开发当中,针对软件的最小单位(函数,方法)进行正确性的检查测试。
(2)单元测试框架
java:junit和testNG
python:unitest和pytest
(3)单元测试框架主要做什么?
1.测试发现:从多个文件里面找到我们的测试用例
2.测试执行:通过断言判断预期结果和实际结果的差异
3.测试报告:统计测试进度、耗时、通过率,生成测试报告
二、单元测试框架和自动化测试框架有什么关系?
(1)什么是自动化测试框架
为了完成一个指定系统的自动测试而封装的一整套的完善的代码框架
主要封装基础模块、管理模块、统计模块
(2)作用
1.提高测试效率,降低维护成本
2.减少人工干预,提高测试的准确性,增加代码的重用性
3.核心思想是让不懂代码的人也能够通过这个框架去实现自动化测试
(3)pytest单元测试框架和自动化测试的关系
单元测试框架只是自动化测试框架中的组成部分之一
pom设计模式、数据驱动、关键字驱动、全局配置文件的封装、日志监控、selenium/requests二次封装、断言、报告邮件等都是自动化测试框架的组成部分之一。
三、pytest简介
1.pytest是一个非常成熟的python单元测试框架,比unitest更灵活,容易上手
2.pytest可以和selenium,requests,appuim结合实现web自动化,接口自动化,app自动化
3.pytes可以实现测试用例的跳过以及reruns失败用例重试
4.pytest可以和allure生成非常美观的测试报告
5.pytest可以和jenkins持续集成
6.pytest有很多非常强大的插件,并且这些插件能够实现很多的使用操作
常用插件如下:
pytest-html (生成html格式的自动化测试报告)
pytest-xdist 测试用例分布式执行,多CUP分发
pytest-rerunfailures 失败用例重跑
allure-pytest 用于生成美观的测试报告
在项目下新建feil,一般命名为requirements.txt
文件中写入需要安装的插件名,如下:
pytest
pytest-html
pytest-xdist
pytest-rerunfailures
allure-pytest
然后在pycharm控制台输入命令pip install -r requirements.txt
用pytest --version验证pytest的版本
四、使用pytest,默认的测试用例的规则以及基础应用
1.模块名必须以test_开头或_test结尾
2.测试类必须以Test开头,并且不能有init方法
3.测试方法必须以test开头