Python测试框架pytest(01)简介、安装、快速入门
1、简介
pytest 是成熟的功能齐全的 Python 测试工具,可帮助你编写更好的程序。
pytest 是一个使构建简单和可伸缩的测试变得容易的框架。测试具有表达性和可读性,不需要样板代码。几分钟后就可以开始对应用程序或库进行小的单元测试或复杂的功能测试。
特点:
1、非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考。
2、能够支持简单的单元测试和复杂的功能测试。
3、支持参数化。
4、执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的 case 标记成失败。
5、支持重复执行 (reruns) 失败的 case。
6、支持运行由 nose、unittest 编写的测试 case。
7、可生成 html 报告。
8、可以很好的和CI工具结合,例如 jenkins。
9、可支持执行部分用例。
10、具有很多第三方插件,并且可以自定义扩展。
官方网址:
pytest.org/
GitHub网址:
github.com/pytest-dev/…
2、安装
1、在命令行中运行以下命令进行安装:
pip install -U pytest
复制代码
或者(使用国内的豆瓣源,数据会定期同步国外官网,速度快。)
pip install pytest -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
复制代码
2、查看安装的版本:
pytest --version
复制代码
3、快速入门
1、创建test_Demo.py文件。
脚本代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
微信公众号:AllTests软件测试
"""def func(x):return x + 1def test_answer():assert func(3) == 5class TestClass:def test_one(self):x = "this"assert "h" in xdef test_two(self):x = "hello"assert hasattr(x, "check")
复制代码
2、打开命令行,进入当前目录下,输入pytest(或者输入py.test也可以)命令执行。
总结:
1、如果只执行 pytest,会查找当前目录及其子目录下以 test_*.py 或 *_test.py 文件,找到文件后,在文件中找到以 test 开头函数并执行。
2、如果只想执行某个文件 pytest test_Demo.py
3、加上 -q,就是显示简单的结果 pytest -q test_Demo.py
3.1、pytest设计用例规则
按照下面的规则去写,否则不符合规则的测试用例是不会执行的。
1、文件名以 test_*.py 文件和 *_test.py 文件。
2、以 test_ 开头的函数。
3、以 Test 开头的类,不能包含 init 方法。
4、以 test_ 开头的类里面的方法。
5、所有的包 Package 必须要有 init.py 文件。
3.2、pytest执行用例规则
在命令行中执行pytest命令
3.2.1、目录下执行所有的用例
pytest
或者
py.test
复制代码
3.2.2、执行单独一个pytest模块
pytest 文件名.py
复制代码
3.2.3、运行某个模块里面的某个类
pytest 文件名.py::类名
复制代码
3.2.4、运行某个模块里面某个类里面的方法
pytest 文件名.py::类名::方法名
复制代码
3.2.5、-v打印运行日志信息(详细)
pytest -v 文件名.py
复制代码
3.2.6、-q打印运行日志信息(简略)
pytest -q 文件名.py
复制代码
3.2.7、-s控制台输出结果
pytest -v -s 文件名.py
s是带控制台输出结果,也是输出详细运行日志
复制代码
3.2.8、-m标记表达式
pytest -m login
将运行用 @pytest.mark.login 装饰器修饰的所有测试
复制代码
3.2.9、-x用例运行失败则立即停止执行
pytest -x 文件名.py
复制代码
3.2.10、-k运行包含关键字的用例
pytest -v -k "one" 文件名.py
执行测试用例名称包含 one 的所有用例
复制代码
3.2.11、-k运行排除关键字的用例
pytest -v -k "not one" 文件名.py
执行测试用例名称不包含 one 的所有用例
复制代码
3.2.12、-k运行匹配多个关键字的用例
pytest -v -k "one or two" 文件名.py
执行测试用例名称包含 one 或 two 的所有用例
复制代码
3.2.13、--maxfail=num错误个数达到指定数量停止测试
pytest 文件名.py --maxfail=1
用例运行时允许的最大失败次数,超过则立即停止。
Python测试框架pytest(01)简介、安装、快速入门相关推荐
- Python测试框架pytest(05)fixture - error和failed、fixture实例化、多个fixture
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...
- Python测试框架pytest(04)fixture - 测试用例调用fixture、fixture传递测试数据
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...
- Python测试框架pytest(03)setup和teardown
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)Py ...
- Python测试框架Pytest的基础入门
Pytest简介 Pytest is a mature full-featured Python testing tool that helps you write better programs.T ...
- Python 测试框架pytest
1.简介 pytest 是一个成熟的.功能齐全的 Python 测试工具,帮助你编写更好的程序. 2.特点 1)容易上手,入门简单,文档丰富,文档中有很多demo学习 2)可以支持简单的单元测试.复杂 ...
- Python测试框架pytest(23)插件 - pytest-picked、pytest-lazy-fixture
目录 1.pytest-picked(运行未提交的git用例) 1.1.安装 1.2.参数 1.3.用法 1.4.示例 2.pytest-lazy-fixture(在pytest.mark.param ...
- Python测试框架pytest(22)插件 - pytest-xdist(分布式执行)
目录 1.安装 2.示例 3.原理和流程 4.解决:多进程运行次数 当测试用例非常多的时候,一条条按顺序执行测试用例,是很浪费测试时间的.这时候就可以用到 pytest-xdist,让自动化测试用例可 ...
- Python测试框架pytest(02)PyCharm设置运行pytest、pytest.main()
1.PyCharm设置运行pytest 打开PyCharm,依次打开Preferences--->Tools--->Python Integrated Tools,将Testing里的De ...
- python测试用例管理_Python测试框架Pytest的常用插件测试报告
原标题:Python测试框架Pytest的常用插件测试报告 一.pytest-html 生成 html 测试报告 要求:Python 3.6+ 安装:pip install pytest-html 文 ...
最新文章
- OpenUPF 的设备形态与架构设计
- Java删除文件夹和文件
- 【分析】回顾2014年“BAT”投资/并购图谱
- 一分钟带你看懂UML图
- CodeForces - 1427C The Hard Work of Paparazzi(dp+剪枝)
- echarts grid的样式位置_vue使用Echarts vue使用Echarts滚动条
- html 打开页面光标自动选中输入框_Python自动部署码云:
- python dataframe 取一行_python – Pandas dataframe获取每个组的第一行
- 深度神经网络分布式训练指引
- Java数组集合转换
- VMware ESXi 7.0 U3c SLIC 2.6 Unlocker 集成 Intel NUC 网卡、USB 网卡和 NVMe 驱动
- 网利友联迈入敏捷开发新时代
- python随机森林预测案例_Random Forest算法 python实现案例分析
- oracle时间某年某月某日,sql getdate 咋办分享Sql的getDate()用法
- 大数据分析数据来源的有哪些类型
- 软考中级软件设计师--下午题
- 实现链表的插入——头插/尾插
- hive sql 向上取整、向下取整、保留小数位的函数
- 如何用viso画波浪线、以及带箭头的波浪线。
- 大数据运维实战第十七课 日志收集、分析过滤工具 Logstash应用实战
热门文章
- R语言进行dataframe数据内连接(Inner join):使用R原生方法、data.table、dplyr等方案
- R语言自定义函数计算dataframe每列中的缺失值NA的个数、缺失值问题及其填充示例
- python使用imbalanced-learn的KMeansSMOTE方法进行上采样处理数据不平衡问题
- R语言tidyr包separate()函数实战详解:一列裂变为多列
- 大学计算机基础 学年教学计划,大学计算机基础教学计划.pdf
- java生成sql语句_java生成SQL语句
- 图像处理学习三(频域图像增强)
- 3.Deep Neural Networks for YouTube Recommendations论文精细解读
- 人群密度估计--Learning a perspective-embedded deconvolution network for crowd counting
- 人脸检测--FaceBoxes: A CPU Real-time Face Detector with High Accuracy