0

0

如何用Python开发自动化测试?pytest框架

星夢妙者

星夢妙者

发布时间:2025-07-11 15:00:02

|

1010人浏览过

|

来源于php中文网

原创

要从零开始搭建基于 pytest 的测试框架,请按照以下步骤操作:1. 安装 pytest 并创建符合命名规范的测试文件;2. 编写测试函数并使用 pytest 执行测试,通过 -v 查看详细结果;3. 组织测试结构,将测试代码放入 tests/ 目录并按模块划分;4. 使用 fixture 管理前置/后置操作,通过 conftest.py 共享常用 fixture;5. 安装 pytest-html 和 pytest-xdist 插件生成 html 报告并支持多进程执行;6. 将测试框架集成到 ci 工具中实现持续集成。掌握这些步骤即可搭建高效的自动化测试体系,但关键仍在于设计和维护高质量的测试用例。

如何用Python开发自动化测试?pytest框架

自动化测试是提升开发效率和代码质量的重要手段,而 Python 中的 pytest 框架凭借其简洁、灵活和强大的插件生态,成为很多团队首选的测试工具。如果你想用 Python 做自动化测试,从零开始搭建基于 pytest 的测试框架其实并不难。

如何用Python开发自动化测试?pytest框架

安装与基本使用

首先确保你已经安装了 Python,然后通过 pip 安装 pytest:

如何用Python开发自动化测试?pytest框架
pip install pytest

安装完成后,你可以创建一个以 test_ 开头或结尾的 Python 文件(比如 test_sample.py),在里面写一些简单的测试函数:

立即学习Python免费学习笔记(深入)”;

def test_addition():
    assert 1 + 1 == 2

def test_failure():
    assert 1 + 1 == 3

运行测试只需要在命令行输入:

如何用Python开发自动化测试?pytest框架
pytest

它会自动查找所有符合命名规范的测试文件并执行。失败的测试会被标记出来,方便你快速定位问题。

  • 成功的测试显示为 .
  • 失败的测试显示为 F
  • 可以加 -v 参数查看详细输出

组织测试结构

随着测试数量增加,你需要合理组织测试文件和目录结构。一个常见的做法是把测试代码放在单独的 tests/ 目录下,并按照功能模块划分子目录或文件。

例如:

project_root/
├── src/
│   └── my_module.py
└── tests/
    ├── test_module_a.py
    ├── test_module_b.py
    └── __init__.py

这样不仅便于维护,也方便 CI 工具集成。你还可以使用 pytest 的 fixture 功能来复用初始化逻辑,比如准备数据库连接、登录状态等。

使用 fixture 管理前置/后置操作

fixture 是 pytest 最实用的功能之一,可以用来替代 unittest 的 setUp 和 tearDown。

触站AI
触站AI

专业的中文版AI绘画生成平台

下载

比如你想在每个测试前都登录一次系统:

import pytest

@pytest.fixture
def login():
    print("Logging in...")
    token = "abc123"
    yield token
    print("Logout")

def test_profile(login):
    assert login == "abc123"

上面的例子中,login 函数是一个 fixture,在测试函数中作为参数传入时会被自动调用。yield 前面的部分相当于 setup,后面部分相当于 teardown。

你可以将常用的 fixture 放在 conftest.py 文件中,这样整个项目都可以共享它们。

集成报告与持续集成

光跑测试还不够,我们还需要生成测试报告。pytest 提供了很多插件支持,其中最常用的是 pytest-htmlpytest-xdist

安装 html 报告插件:

pip install pytest-html

生成 HTML 报告的命令如下:

pytest --html=report.html

如果你希望测试跑得更快,还可以用 pytest-xdist 插件实现多进程并发执行:

pip install pytest-xdist
pytest -n 4  # 使用4个进程

这些报告和并行执行能力可以很方便地集成到 Jenkins、GitHub Actions 等 CI 工具中,实现每日构建和自动化回归测试。

基本上就这些。掌握好 pytest 的基本结构、fixture 使用和报告生成,就可以开始搭建属于自己的自动化测试体系了。不复杂但容易忽略的是测试用例的设计和维护,这才是真正决定自动化价值的地方。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

373

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

437

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

803

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

371

2025.07.23

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4269

2026.01.21

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

387

2023.06.29

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2111

2023.08.14

vb怎么连接数据库
vb怎么连接数据库

在VB中,连接数据库通常使用ADO(ActiveX 数据对象)或 DAO(Data Access Objects)这两个技术来实现:1、引入ADO库;2、创建ADO连接对象;3、配置连接字符串;4、打开连接;5、执行SQL语句;6、处理查询结果;7、关闭连接即可。

357

2023.08.31

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号