美化pytest运行:pytest-sugar

简介:pytest-sugar 是一个用于增强 pytest 测试框架的插件,它提供了美观的测试运行报告,使测试输出更加直观易读。通过简单的配置,开发者可以快速获得测试的状态、运行时间和其他关键信息。该模块特别适合于大型项目或团队合作,能帮助开发者更好地理解测试结果和进度。

历史攻略:
pytest:4种方法实现 - 重复执行用例 - 展示迭代次数

pytest常用命令行参数解析

pytest-stress:好用的pytest压力测试插件

pytest-cov:好用的统计代码测试覆盖率插件

Pytest用例自定义 - 重复、并行、串行

一、基本特性
1.1 美观的输出:替代默认的测试输出,提供友好的视觉效果。

1.2 实时更新:在测试运行时,报告会实时更新,便于跟踪测试进度。

1.3 兼容性:与 pytest 的大部分功能和插件兼容,可以无缝集成。

二、安装

python 复制代码
pip install pytest-sugar

三、基本用法

要使用 pytest-sugar,只需在运行测试时添加 -s 参数即可。它会自动格式化输出。

四、示例代码

test_add_demo.py

python 复制代码
# -*- coding: utf-8 -*-
# time: 2024/10/07 20:54
# file: test_add_demo.py
# author: tom
# 微信公众号: 玩转测试开发

class AddDemo:
    def add_demo(self, a, b):
        return a + b

class TestAdd:
    def test_add_01(self):
        assert (AddDemo().add_demo(1, 6) == 7)

    def test_add_02(self):
        assert (AddDemo().add_demo(2, 7) == 9)

    def test_add_03(self):
        assert (AddDemo().add_demo(3, 8) == 11)

    def test_add_04(self):
        assert (AddDemo().add_demo(4, 9) == 13)

    def test_add_05(self):
        assert (AddDemo().add_demo(5, 10) == 15)

main.py

python 复制代码
# -*- coding: utf-8 -*-
# time: 2024/10/07 19:39
# file: main.py
# 公众号: 玩转测试开发

import pytest

if __name__ == "__main__":
    # step-1:use pytest run test_case
    pytest.main(["-v", "-s", "-n", "auto", "--alluredir", "./report"])

五、运行结果
美化前:

美化后:

六、注意事项
6.1 环境兼容性:确保你的 pytest 版本与 pytest-sugar 兼容,避免不必要的问题。

6.2 性能影响:虽然 pytest-sugar 提供了美观的输出,但在非常大的测试集上可能会有一定的性能影响,建议在性能敏感的场景下谨慎使用。

6.3 集成测试:如果你在 CI/CD 环境中使用 pytest-sugar,请确保输出格式能满足你的报告需求。

6.4 版本要求:Python 3.8 + , pytest 6.2 +

七、小结

pytest-sugar 是一个非常实用的插件,通过简化测试输出,提升了测试的可读性和效率。使用这个工具,可以让你在进行测试时更加轻松,尤其是在处理大量测试用例时。掌握该模块的基本用法,将帮助开发者更有效地进行测试管理和结果分析。

相关推荐
Salt_07282 小时前
DAY 19 数组的常见操作和形状
人工智能·python·机器学习
无心水2 小时前
【Python实战进阶】2、Jupyter Notebook终极指南:为什么说不会Jupyter就等于不会Python?
python·jupyter·信息可视化·binder·google colab·python实战进阶·python工程化实战进阶
上班日常摸鱼3 小时前
Shell脚本基础教程:变量、条件判断、循环、函数实战(附案例)
python
无心水3 小时前
【Python实战进阶】5、Python字符串终极指南:从基础到高性能处理的完整秘籍
开发语言·网络·python·字符串·unicode·python实战进阶·python工业化实战进阶
2301_807583234 小时前
了解python,并编写第一个程序,常见的bug
linux·python
小白学大数据4 小时前
构建混合爬虫:何时使用Requests,何时切换至Selenium处理请求头?
爬虫·python·selenium·测试工具
2401_827560204 小时前
【Python脚本系列】PyAudio+librosa+dtw库录制、识别音频并实现点击(四)
python·语音识别
BBB努力学习程序设计4 小时前
Python自动化脚本:告别重复劳动
python·pycharm
BBB努力学习程序设计4 小时前
Python函数式编程:优雅的代码艺术
python·pycharm
2501_940943914 小时前
体系课\ Python Web全栈工程师
开发语言·前端·python