【Pytest实战】pytest 基本概念及使用大全

😄作者简介:
小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。😊
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

本篇文章主要是分享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 默认规则

  1. 模块名必须以test_开头或者*_test.py 结尾(也就是.py文件名)
  2. 测试类必须以Test开头,并且不能有init方法。
  3. 测试方法或者测试函数必须以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参数的使用,后面会专门有一篇文章来讲解。小伙伴们可以关注该专栏,后续还会有更多丰富的文章哦。

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曾同学.com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值