改善测试结果可视化:使用 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测试运行器提供了更好的输出和可视化效果。它使得测试结果更加易读、易懂,有助于开发者更快地定位和解决问题。实用的插件。

相关推荐
Python×CATIA工业智造7 分钟前
Frida RPC高级应用:动态模拟执行Android so文件实战指南
开发语言·python·pycharm
onceco37 分钟前
领域LLM九讲——第5讲 为什么选择OpenManus而不是QwenAgent(附LLM免费api邀请码)
人工智能·python·深度学习·语言模型·自然语言处理·自动化
狐凄1 小时前
Python实例题:基于 Python 的简单聊天机器人
开发语言·python
悦悦子a啊2 小时前
Python之--基本知识
开发语言·前端·python
Piper蛋窝3 小时前
深入 Go 语言垃圾回收:从原理到内建类型 Slice、Map 的陷阱以及为何需要 strings.Builder
后端·go
笑稀了的野生俊4 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
Naiva4 小时前
【小技巧】Python+PyCharm IDE 配置解释器出错,环境配置不完整或不兼容。(小智AI、MCP、聚合数据、实时新闻查询、NBA赛事查询)
ide·python·pycharm
路来了5 小时前
Python小工具之PDF合并
开发语言·windows·python
蓝婷儿5 小时前
Python 机器学习核心入门与实战进阶 Day 3 - 决策树 & 随机森林模型实战
人工智能·python·机器学习
六毛的毛5 小时前
Springboot开发常见注解一览
java·spring boot·后端