- 博客(10)
- 收藏
- 关注
原创 Python Pytest 笔记 -- Allure 学习
Allure是一款功能强大的测试报告框架,能将自动化测试结果转化为直观的网页报告。摘要介绍了其核心功能:1)环境准备与基础安装;2)用例描述与层级划分(epic/feature/story);3)用例标题、步骤与详情;4)严重级别标记与附件添加(截图、日志等)。特别提供了Python代码示例,包括如何实现自动截图、添加文本/JSON/HTML附件等实用技巧。建议新手从基础功能入手,逐步掌握分层标记和失败调试功能,以提升测试报告的可读性和实用性。
2025-11-12 11:19:42
743
原创 Python Pytest 笔记--Pytest 相关插件及插件管理
pytest测试工具集总结代码覆盖率:pytest-cov集成coverage.py,通过pytest --cov生成覆盖率报告。时间模拟:pytest-freezegun支持冻结时间(@freeze_time)和时间旅行(move_to()),模拟时区与时间流逝。静态检查:pytest-flakes检测未使用导入、未定义变量等问题,可通过pytest --flakes运行。测试报告:pytest-html生成可视化HTML报告,支持自定义样式和元数据。Mock测试:pytest-mock
2025-11-05 09:34:22
1159
原创 Pytest Fixture--自动使用(autouse)和模块化测试设置
该Python代码演示了如何利用Pytest的fixture机制模拟数据库事务的自动回滚,实现测试隔离。核心实现包括: 模拟DB类:用列表记录事务状态 模块级db fixture:共享数据库连接 关键transact fixture(autouse=True): 测试前:调用db.begin()开启事务 yield后:自动执行db.rollback()回滚 测试方法验证:每个测试都在独立事务中运行
2025-10-30 09:00:00
739
原创 Python Pytest 笔记params参数
Pytest的fixture参数化功能通过params参数实现数据驱动测试,允许为同一fixture提供多组数据,使依赖该fixture的测试用例自动多次执行。基础用法是在fixture装饰器中设置params参数列表,通过request.param获取值。支持传递复杂数据结构,并能使用ids参数提高测试可读性。高级用法包括动态参数传递和与parametrize标记结合使用。最佳实践建议注意fixture作用域影响,使用yield进行资源清理,并确保测试独立性。该功能有效减少代码重复,提高测试覆盖率和可维护
2025-10-29 09:00:00
704
原创 Python Pytest 笔记--Scope作用域学习
function(函数作用域)这是默认的作用域。每个使用了该fixture的测试函数或测试方法都会触发一次fixture的创建和销毁过程。在测试函数执行前创建,在该测试函数执行后销毁。为每个测试提供完全独立的初始状态和环境,确保测试之间的隔离性。例如,初始化一个仅限当前测试使用的临时数据。@pytest.fixture(scope='function') # 'scope=' 可省略,因为这是默认值print("\n>>> 执行function级别fixture:初始化")
2025-10-28 10:44:04
892
原创 Python Pytest 笔记(番外篇装饰器学习)
本文详细介绍了Python装饰器的核心原理与应用。装饰器通过闭包机制实现函数功能的动态扩展,解决了代码复用问题。文章从基础概念讲起,包括函数作为一等对象、闭包原理,到装饰器实现方式(手动应用和@语法糖)。重点讲解了装饰器的实际应用场景(日志记录、性能测试、权限验证)和高级特性(保留元信息、带参数装饰器、类装饰器、多装饰器顺序)。最后指出装饰器在工程中的广泛应用价值,如Web框架路由、事务管理等,是编写模块化、可维护Python代码的重要工具。
2025-10-27 09:00:00
434
原创 Python Pytest 学习笔记04(番外篇)yield 学习
摘要: yield是Python中用于创建生成器的关键字,与return不同,它能暂停函数执行并保留状态,实现惰性求值。核心区别在于:return终止函数并返回单个值,而yield可多次返回值且内存效率更高。典型应用包括处理大文件(逐行读取节省内存)、生成无限序列(如斐波那契数列)以及简化多分支数据收集。进阶用法如send()方法支持双向通信,实现协程功能。优势在于高效内存管理、代码简洁性及支持复杂数据流处理,适合大数据和异步编程场景。
2025-10-25 09:00:00
1259
原创 Python Pytest 笔记03
本文介绍了Pytest框架中的Fixture功能,重点讲解了其依赖注入机制和使用方法。主要内容包括:Fixture的基本语法和生命周期(setup-yield-teardown);常用类型(数据、配置、模拟对象Fixture);作用域控制(函数、类、模块、会话级别);通过conftest.py共享Fixture;结合实际应用示例展示Web和数据库测试场景;并提供了最佳实践建议,如命名规范、单一职责、合理设置作用域等。Fixture的核心价值在于资源管理、代码复用和依赖注入,能显著提升测试代码的可维护性。
2025-10-24 09:00:00
1003
原创 python pytest 学习笔记 Day02
Pytest缓存与测试管理技巧摘要 Pytest通过cacheprovider插件实现缓存功能,支持记录测试状态(--lf/--ff)和跨用例数据共享(cache fixture)。缓存目录自动生成,可用于快速重跑失败用例或传递登录Token等数据。测试预览(--collect-only)帮助验证测试集合,而多种跳过方式(@pytest.mark.skip、skipif、动态pytest.skip())能条件化忽略测试。结合缓存、标记和跳过策略,可构建高效工作流
2025-10-23 09:00:00
1066
原创 Python Pytest 学习笔记 Day01
Pytest中Setup/Teardown方法详解及参数使用指南 本文详细介绍了pytest中的setup和teardown方法机制,主要包括: 四个级别的初始化和清理方法:模块级、函数级、类级和方法级,分别说明其作用范围和适用场景 组合使用时从大到小的执行顺序规则 现代实践推荐使用更灵活的fixture替代传统setup/teardown 常用命令行参数说明: 输出控制参数(-v/-s/--tb) 测试筛选参数(-k/-m) 失败处理参数(--lf/--ff) 性能与报告参数(-n/--durations
2025-10-22 09:31:49
1821
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅