😄作者简介:
小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍
本篇文章主要是分享Pytest基本概念以及Pytest默认规则,后续文章给大家带来实战教程,请持续关注哦!
文章目录
- 一、Pytest 是什么
- 1.1 Pytest 特点
- 1.2 单元测试与自动化测试框架
- 二、Pytest 默认规则
- 三、Pytest常用插件
- 四、如何一次性安装多个插件
- 五、Pytest 牛刀小试
一、Pytest 是什么
pytest 是一个成熟的python专用单元测试框架。
1.1 Pytest 特点
- 简单灵活、容易上手,文档丰富,中文文档:https://www.osgeo.cn/pytest/index.html
- 支持参数化,可以细粒度地控制要测试的测试用例。
- 能够支持简单的单元测试和复杂的功能测试,还可以与 selenium/appium 结合做UI自动化测试,与 requsts 结合做接口自动化测试。
Pytest拥有丰富的第三方插件,比如 pytest-selenium、pytest-html、pytest-rerunfailures等,后续会一一介绍这些插件的使用。- 可以很好的和CI工具结合,例如,Jenkins,做持续化集成
说到这,可能小伙伴会有疑问,什么是单元测试框架,那单元测试框架和自动化测试框架又有什么区别?
1.2 单元测试与自动化测试框架
单元测试框架(Unit Testing Framework)是一种用于编写、执行和管理单元测试的工具集合。它提供了一组函数、类和工具,帮助开发人员编写和运行针对软件中最小可测试单元(通常是函数或方法)的测试用例。
常见的单元测试框架JUnit、Pytest 。
自动化测试框架(Automation Testing Framework)是一种工具集合,用于设计、执行和管理各种类型的自动化测试,包括单元测试、集成测试、功能测试等。自动化测试框架通常提供测试脚本编写、测试用例管理、测试执行和结果报告等功能。它们可以与不同的测试工具和库集成,如单元测试框架、UI测试工具、API测试工具等,以便自动执行测试任务并生成测试报告。一些常见的自动化测试框架包括Selenium、Appium、Robot Framework等
二、Pytest 默认规则
- 模块名必须以test_开头或者*_test.py 结尾(也就是.py文件名)
- 测试类必须以Test开头,并且不能有init方法。
- 测试方法或者测试函数必须以test开头。
三、Pytest常用插件
pytest-html : 生成原生态html格式的自动化测试报告,自带的,不怎么好用
pytest-xdist : 测试用例分布式执行,多CPU分发
pytest-ordering :用于改变测试用例的执行顺序
pytest-rerunfailures : 用例失败后重跑
allure-pytest : 用于生成美观的测试报告
四、如何一次性安装多个插件
首先将这些插件写到一个.txt 文本文件中,如下所示,
再输入命令,即可一键安装
pip3 install -r request.txt
可以输入 pytest --version
检验 pytest 是否安装成功。
五、Pytest 牛刀小试
创建名为 test_sample.py 文件,内容如下:
def sum(x):
return x + 1
def test_answer():
assert sum(6) == 8
输入命令pytest -vs
或者pytest test_sample.py -vs
即可得出测试结果。
针对Pytest参数的使用,后面会专门有一篇文章来讲解。小伙伴们可以关注该专栏,后续还会有更多丰富的文章哦。