pytest单元测试基本使用
一.pytest安装
pip install pytest:安装
pip install pytest==version:指定版本安装
pytest --version:查看版本
pip install -u pytest:更新
pip install pytest-html:安装html报告插件
pytest --html=url:生成html报告
二.定义文件,类,函数规范
1.定函数时,函数名字前加个test_,如:def test_one: print "xxxxx"
2.定义class的时候Test...,以Test开头,如:Testclasee
3.定义.py文件的时候以test_开头,如:test_case
三.pytest常用参数
pytest -h:查看帮助
pytest --collect-only package名:收集要运行文件中的哪些函数,但是不运行
pytest -v package名:-v可查看具体哪个文件下的哪个函数运行错误或失败
pytest -k “函数1 or 函数2”:指定一些test_函数运行
pytest -m “参数“ package名:指定参数运行函数(可在函数上方标记参数@pytest.mark.参数)
pytest -x package:遇到一个错误时停止运行(在-x 后加个-v可查看具体哪个文件下的哪个函数运行错误或失败)
pytest --maxfail=x package名:设置最大错误数,当运行错误大于x后停止运行
pytest -s package名:打印函数中的print显示在命令行
pytest --lf package名:显示运行错误的函数信息
pytest --ff package名:正确的错误的都显示出来
5.fixture
1.pytest.fixture可用在普通函数上面,test_函数引用时可直接使用函数名引用返回值

2.fixture优先级运行
(1).在根目录下新建配置文件conftest.py
(2)在conftest.py文件下编写运行前后的程序
所有.py文件运行前后

每个文件.py运行前后

每个class运行前后

每个function运行前后

3.fixtrue中的参数(scope='function',params=None,autouse=False,ids=None,name=None)
(1)scope:控制fixture的作用范围,有四个取值,根据作用范围大小划分:session> module> class> function
--function:函数或者方法级别都会被调用,默认值为function
--class:每一个类调用一次,一个类中可以有多个方法
--module:每一个.py文件调用一次,该文件内又有多个function和class
--session:是多个文件调用一次,可以跨.py文件调用,每个.py文件就是module
(2)params:可以实现前置函数的参数化,调用前置函数的测试用例可以根据前置函数不同的参数执行多次

(3)autouse:默认值为False,不自动调用,开启后
scope=function或者未设置,则每个测试用例都会自动调该前置函数;
scope=class,则会在测试类中的第一个测试方法前自动调该前置函数;
scope=module,则会在测试模块中的第一个测试函数前自动调该前置函数;
scope=session,则会在所有测试模块调用中的第一个测试函数前自动调用
4)ids:params 测试 ID 的一部分
5)name:默认装饰器的名称
6.parametrize参数化(数据驱动)

若参数场景过多时可以导入csv文件或连接数据库
7.pytest-order排序
(1).安装
pip install pytest-order
(2).编写
可定义在class和function上,数字也可为-1,-2,-3,-表示倒数运行

若编写好运行顺序后需要在中间插入一条case,before=“函数名”

pytest单元测试基本使用的更多相关文章
- Pytest单元测试框架-测试用例运行规则
1.Pytest测试用例运行规则 在pytest单元测试框架下面执行用例,需要满足以下几个特点: 1. 文件名以test_*.py开头或者*_test.py 2. 测试类.测试函数以test开头 3. ...
- Pytest单元测试框架-Pytest环境安装
unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发 ...
- Pytest单元测试框架:插件-allure-pytest环境搭建并在本地生成一个测试报告
之前写了allure-pytest的官方文档啃的内容,有些交流的朋友,实践起来没什么头绪,所以就有了这篇文章,也给自己填个坑 第一步:搭建Allure.JDK环境 1. 搭建JDK环境 不装jdk你会 ...
- Pytest单元测试框架之简单操作示例
前言: Pytest是第三方单元格测试框架,更加简单,灵活,而且提供了更多丰富的扩展: Pytest与UnitTest框架的区别 UnitTest测试用例执行顺序是依照ascii码执行,而Pytest ...
- pytest 单元测试
pytest简介 pytest 是python的一种单元测试框架,它非常的简洁.清晰. pytest 安装 pip install -U pytest 查看pytest版本 pytest --vers ...
- Pytest 单元测试框架
1.pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效 2.安装 pytest pip install pytest 3.验证 pytest 是否安装成功 p ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- Pytest单元测试框架-学习
pytest: Python的一个单元测试框架,基于UnitTest二次开发,语法上更加简洁,可以用来做Python开发项目的单元测试,UI自动化.接口自动化测试等,有很多的插件访问Pytest插件汇 ...
- Pytest单元测试框架之FixTure基本使用
前言: 在单元测试框架中,主要分为:测试固件,测试用例,测试套件,测试执行及测试报告: 测试固件不难理解,也就是我们在执行测试用例前需要做的动作和测试执行后的需要做的事情: 比如在UI自动化测试中,我 ...
- pytest单元测试框架
一.安装方式 1.安装命令:pip install pytest 2.html安装插件:pip install pytest -html 二.pytest执行指定测试用例 1.思想:通过对测试用例进行 ...
随机推荐
- nginx 限制ip访问,禁止非法域名指向本机ip——防止被别人绑定域名到自己IP的方法
网站从国内迁移到国外,镜像主机没有配置域名(等配置好了,再配置域名),然后迁移完成了后,网站被不知道哪家的域名指向了本站服务器(很可能是某些人和组织,养域名卖的--具体是何套路,请哪位道友指教) 今天 ...
- SBOM落地的关键一步——漏洞可利用性交流(VEX)
SolarWinds 网络安全事件的影响,加上 Log4j 漏洞对众多知名企业产生难以估量的后果,使软件供应链安全成为安全领域的热门话题,并且SBOM现在成为网络安全漏洞计划的一个重要组成部分. SB ...
- dom4j selectNodes 取不到值 因为XML带有命名空间 HL7
xml 如下: <?xml version="1.0" encoding="UTF-8"?> <POOR_IN200901UV ITSVers ...
- Exception in thread "main" joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option
背景: 在kafka集群上使用topic相关的命令时,报错: Exception in thread "main" joptsimple.UnrecognizedOptionExc ...
- nginx: [emerg] duplicate upstream "test2" in /usr/local/nginx/conf/sites-enabled/test2.conf:1
使用/usr/local/nginx/sbin/nginx -t 检查nginx配置文件时报错: nginx: [emerg] duplicate upstream "test2" ...
- AtCoder ARC 115 E - LEQ and NEQ (延迟标记线段树 or 笛卡尔积 + DP维护)
问题链接:Here 长度为 \(N\) 的数列 \(A_1,-,A_N\) .回答满足以下条件的长度 \(N\) 的数列 \(X_1,-,X_N\) 的个数除以 \(998244353\) 的余数. ...
- 电缆厂 3D 可视化管控系统 | 图扑数字孪生
近年来,我国各类器材制造业已经开始向数字化生产转型,使得生产流程变得更加精准高效.通过应用智能设备.物联网和大数据分析等技术,企业可以更好地监控生产线上的运行和质量情况,及时发现和解决问题,从而提高生 ...
- 体验函数计算 FC 3.0,写测评赢取索尼头戴式耳机
11月1日云栖大会,函数计算3.0全新升级,相对函数计算2.0,3.0版本突出易用性.高弹性,并且可以和更多阿里云服务无缝集成.业内首发神龙 Serverless GPU 架构,冷启动大幅优化,全链路 ...
- java获取部门树的方法实例
开发中如何获取一个树结构是非常常见的需求,本示例演示一下该功能如何实现. 1.数据准备(mysql) CREATE TABLE `dept` ( `dept_id` int NOT NULL AUTO ...
- <vue 组件 1、组件化基本使用>
代码结构 组件就是将复杂的功能拆分成简单的块,拆分后的块可以被多处使用. 组件的使用分成三个步骤: 1.创建组件构造器 Vue.extend() 2.注册组件 Vu ...