改善测试结果可视化:使用 pytest-sugar 插件提升测试体验

前言

我们有时候喜欢将执行结果用不同颜色进行显示,这样有助于查看,一目了然。那pytest如何输出漂亮的、带有颜色的结果呢?我们带着疑问一起看看。

pytest-sugar

pytest-sugar插件,它可以为pytest测试运行器提供漂亮的、带有颜色的输出,以改善测试结果的可视化。

安装pytest-sugar

首先,我们需要安装pytest-sugar插件。

复制代码
pip install pytest-sugar

安装完成后,pytest-sugar会自动与pytest关联,并在运行测试时提供更好的输出。

使用pytest-sugar

我们实践一下,看看pytest-sugar改善测试结果的可视化效果。

这里我们写一些简单的测试用例,像下面

test_demo.py

csharp 复制代码
def test_add():
    assert 2 + 3 == 5
​
def test_subtract():
    assert 5 - 3 == 2
​
def test_multiply():
    assert 2 * 3 == 6
​
def test_divide():
    assert 6 / 3 == 2

先看看没有按照pytest-sugar插件时的运行效果

arduino 复制代码
test_dir/test_demo.py::test_add PASSED
test_dir/test_demo.py::test_subtract PASSED
test_dir/test_demo.py::test_multiply PASSED
test_dir/test_demo.py::test_divide PASSED

现在,我们先安装pytest-sugar,无需额外配置,继续使用`pytest命令运行这些测试,并查看pytest-sugar插件的效果,不出意外的话,你将会看到一个漂亮的、带有颜色的输出界面,其中包含了每个测试的结果以及相关的信息。执行结果如下:

arduino 复制代码
 test_dir/test_demo.py::test_add ✓                                                                                        25% ██▌
 test_dir/test_demo.py::test_subtract ✓                                                                                   50% █████
 test_dir/test_demo.py::test_multiply ✓                                                                                   75% ███████▌
 test_dir/test_demo.py::test_divide ✓                                                                                    100% ██████████

控制台看到会更加漂亮的,pytest-sugar以更加友好和可读的方式呈现了测试结果。它使用了符号 ✓ 表示测试通过,没有任何问题,让你一目了然地知道测试是否通过。此外,测试运行的总体摘要也以清晰的方式展示。

运行原理

它主要通过以下几个方面来实现:

  1. 改进测试结果显示:pytest-sugar使用了一种更友好和易读的方式来呈现测试结果。它使用了符号 ✓ 表示测试通过,使用了符号 ✗ 表示测试失败,以及其他符号来表示不同的状态。这种可视化的结果让开发者更容易理解测试的执行情况。
  2. 颜色高亮:pytest-sugar通过使用颜色高亮显示测试结果,使其更加突出和易于区分。例如,通过的测试结果可能以绿色显示,而失败的测试结果可能以红色显示。这种颜色编码有助于快速识别测试的状态。
  3. 显示测试持续时间:pytest-sugar还提供了每个测试运行所花费的时间。这可以帮助开发者评估测试的性能,并快速识别可能需要优化的测试。
  4. 显示详细的失败信息:当测试失败时,pytest-sugar会显示详细的失败信息,包括断言失败的具体位置和相关的调用栈信息。这有助于开发者快速定位问题并进行修复。

总的来说,pytest-sugar通过改进测试结果的可视化呈现和增强显示功能,提供了更好的测试体验。它使得测试结果更易读、易懂,有助于开发者更快地定位和解决问题。

最后

pytest-sugar插件为pytest测试运行器提供了更好的输出和可视化效果。它使得测试结果更加易读、易懂,有助于开发者更快地定位和解决问题。实用的插件。

相关推荐
和鲸社区19 分钟前
《斯坦福CS336》作业1开源,从0手搓大模型|代码复现+免环境配置
人工智能·python·深度学习·计算机视觉·语言模型·自然语言处理·nlp
豌豆花下猫1 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
THMAIL1 小时前
深度学习从入门到精通 - LSTM与GRU深度剖析:破解长序列记忆遗忘困境
人工智能·python·深度学习·算法·机器学习·逻辑回归·lstm
wheeldown1 小时前
【数学建模】数据预处理入门:从理论到动手操作
python·数学建模·matlab·python3.11
秋难降2 小时前
SQL 索引突然 “罢工”?快来看看为什么
数据库·后端·sql
多打代码2 小时前
2025.09.05 用队列实现栈 & 有效的括号 & 删除字符串中的所有相邻重复项
python·算法
@CLoudbays_Martin112 小时前
为什么动态视频业务内容不可以被CDN静态缓存?
java·运维·服务器·javascript·网络·python·php
程序猿炎义2 小时前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
Access开发易登软件3 小时前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
THMAIL3 小时前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert