python+pytest单元测试框架之介绍

简介: 前言pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。

前言

pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。pytest是一个成熟的全功能的Python测试工具,可以帮助你写出更好的程序,让我们很方便的编写测试用例。适合从简单的单元到复杂的功能测试。有很多的第三方插件可以自定义扩展,并且支持allure。

一、pytest介绍

pytest官方文档

1.能够支持简单的单元测试和复杂的功能测试

2.执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败

3.支持重复执行失败的case

4.支持运行由nose, unittest编写的测试case

5.具有很多第三方插件,并且可以自定义扩展

6.方便的和持续集成工具集成

7.支持参数化

二、安装pytest

1.在CMD窗口下输入以下指令

>pip install -U pytest  # 通过pip安装

>py.test --version        # 查看pytest版本

2.安装插件

pytest-html(自动生成HTML格式测试报告)

pytest-describe(给测试用例一个美丽的名字)

pytest-autochecklog(不只是自动生成测试日志)-安装此之前先安装PyYAML------以上插件均在python3.4.4下通过pip工具安装

img_149b376c7cfbea1259745bfaf23d36af.png
成功安装pytest

三、在pycharm配置pytest并运行程序

File -> Settings... -> Tools -> Python Integrated Tools

img_af5f9c0d7b251c78aac6601141bbaf31.png
配置pytest

四、简单实例

1.根据官方文档得来

在pycharm中创建文件夹名为pytest,在该文件下创建命名为test_sample.py脚本文件,然后输入如下程序,在pycharm底部的Terminal中输入指令进入当前目录下:D:\work\test_sample>,然后执行指令:py.test  test_sample.py

#coding:utf-8

def func(x):

    return x +1

def test_func():

    assert func(3) ==5

2.运行结果

img_41e72459d51c8c4bb7809a4dcc29b3bb.png
运行结果

五、pytest测试样例规范

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

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

3.测试函数以test_开头

4.断言使用基本的assert即可

下节,将讲解怎样通过pytest规范来运行多个测试用例文件。。。欢迎大家共同学习

目录
相关文章
|
1月前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
12天前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
92 9
|
25天前
|
JSON 安全 中间件
Python Web 框架 FastAPI
FastAPI 是一个现代的 Python Web 框架,专为快速构建 API 和在线应用而设计。它凭借速度、简单性和开发人员友好的特性迅速走红。FastAPI 支持自动文档生成、类型提示、数据验证、异步操作和依赖注入等功能,极大提升了开发效率并减少了错误。安装简单,使用 pip 安装 FastAPI 和 uvicorn 即可开始开发。其优点包括高性能、自动数据验证和身份验证支持,但也存在学习曲线和社区资源相对较少的缺点。
65 15
|
22天前
|
关系型数据库 API 数据库
Python流行orm框架对比
Python中有多个流行的ORM框架,如SQLAlchemy、Django ORM、Peewee、Tortoise ORM、Pony ORM、SQLModel和GINO。每个框架各有特点,适用于不同的项目需求。SQLAlchemy功能强大且灵活,适合复杂项目;Django ORM与Django框架无缝集成,易用性强;Peewee轻量级且简单,适合小型项目;Tortoise ORM专为异步框架设计;Pony ORM查询语法直观;SQLModel结合Pydantic,适合FastAPI;GINO则适合异步环境开发。初学者推荐使用Django ORM或Peewee,因其易学易用。
|
25天前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
56 7
|
1月前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
95 15
|
2月前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
83 7
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
102 2
|
测试技术 数据安全/隐私保护 Python
Python 自动化测试(三): pytest 参数化测试用例构建
Python 自动化测试(三): pytest 参数化测试用例构建
|
测试技术 Linux 数据安全/隐私保护
Python 自动化测试(三): pytest 参数化测试用例构建
![](https://ceshiren.com/uploads/default/original/3X/4/3/439f9a297bb4fd49a0ef21be8a071720e2959ded.png) 在之前的文章中主要分享了 pytest 的实用特性,接下来讲 Pytest 参数化用例的构建。 如果待测试的输入与输出是一组数据,可以把测试数据组织起来用不同的测试数据调用相同的测试方法。参数
Python 自动化测试(三): pytest 参数化测试用例构建