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

相关推荐
夜流冰23 分钟前
Python - HTTP servers
python
Ambition_LAO35 分钟前
BERT--详解
python·bert
luthane1 小时前
python 实现DFS判断是否是二分图Bipartite算法
python·算法·深度优先
Dovir多多1 小时前
渗透测试入门学习——使用python脚本自动跟踪csrf_token实现对网站登录界面的暴力破解
前端·python·安全·web安全·网络安全·php·csrf
API199701081101 小时前
1688商品评论接口技术深度解析与实战代码实现
开发语言·python·json·php
练习两年半的工程师2 小时前
LeetCode 54 Spiral Matrix 解题思路和python代码
python·算法·leetcode
luthane2 小时前
python 实现bellman ford贝尔曼福特算法
开发语言·python·算法
Learner_HJ2 小时前
猿人学 — 第1届第17题(解题思路附源码)
python·网络爬虫·httpx·猿人学
练习两年半的工程师2 小时前
LeetCode 48 Rotate Image 解题思路和python代码
python·算法·leetcode
Albert_Lsk2 小时前
【LeetCode】动态规划—712. 两个字符串的最小ASCII删除和(附完整Python/C++代码)
c++·python·算法·leetcode·动态规划