python中pytest教程_Pytest自动化测试 - 简易教程

本文详细介绍了Python中的pytest测试框架,包括其主要特点、安装方法、编写规则、自动发现规则以及使用示例。内容涵盖测试文件命名规范、断言方式、插件系统、标记功能、固件(Fixture)的使用,如参数化测试、作用域管理等,旨在帮助开发者快速掌握pytest的使用。
摘要由CSDN通过智能技术生成

简介

pytest是动态编程语言Python专用的测试框架,它具有易于上手、功能强大、可扩展性好、兼容性强、效率高、第三方插件丰富等特点。

功能特征:

完整的文档,包括安装,教程和PDF文档

简单而又详细的断言模式(使用纯assert语句)

自动发现测试模块和功能(以test为标识)

可以运行unittest和nose框架的测试用例

灵活的固件,用于管理小型或参数化的长期测试资源

丰富的插件架构,拥有三百多个外部插件和丰富的社区

编写规则:

测试文件以test_开头(以_test结尾也可以)

测试类以Test开头,并且不能带有 init 方法

测试函数以test_开头

断言使用基本的assert即可

自动发现规则:

如果未指定任何参数,则从testpaths(如果已配置)或当前目录开始收集。

另外,命令行参数可以在目录、文件名或节点ID的任何组合中使用。

在这些目录中,搜索包含 test_*.py 或 *_test.py 的测试文件。

从这些文件中,收集以test前缀的测试方法,或者在Test前缀的测试类(无__init__方法)中的以test前缀的测试方法。

安装

打开bash命令行,运行以下命令:

pip install -U pytest

检查是否安装了正确的版本:

$ pytest --version

pytest6.1.2

示例

创建一个简单的测试函数:

#test_sample.py#被测功能

deffunc(x):return x + 1

#测试成功

deftest_pass():assert func(3) == 4

#测试失败

deftest_fail():assert func(3) == 5

现在开始执行测试功能:

E:\workspace-py\Pytest>pytest========================================================================== test session starts ==========================================================================platform win32-- Python 3.7.3, pytest-6.0.2, py-1.9.0, pluggy-0.13.0rootdir: E:\workspace-py\Pytest

plugins: allure-pytest-2.8.18, cov-2.10.1, html-2.1.1, metadata-1.8.0, rerunfailures-9.1, xdist-2.1.0collected2items

test_sample.py .F [100%]=============================================================================== FAILURES ================================================================================_______________________________________________________________________________ test_fail _______________________________________________________________________________

def test_fail():> assert func(3) == 5E assert 4 == 5

E + where 4 = func(3)

test_sample.py:16: AssertionError======================================================================== short test summary info ========================================================================FAILED test_sample.py::test_fail- assert 4 == 5

====================================================================== 1 failed, 1 passed in 0.16s ======================================================================

这里未指定测试用例,pytest将依据自动发现规则检索并执行测试,等同于 pytest ./test_sample.py

pytest 使用 . 标识测试成功(PASSED)

pytest 使用 F 标识测试失败(FAILED)

可以使用-v 选项,显示测试的详细信息

可以使用 -h 查看 pytest 的所有选项

标记

默认情况下,pytest 会递归查找当前目录下所有以 test 开始或结尾的 Python 脚本,并执行文件内的所有以 test 开始或结束的函数和方法。

1、如果你想

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值