.F.. 符号。✓ = 通过✗ = 失败⚠ = 跳过⏱ = 超时(需配合 pytest-timeout)Captured stdout/stderr 输出,点击 <Click to see details> 展开。
pip install pytest-sugar # 或使用 poetry/pipenv
pytest --version | grep sugar # 输出中应包含 pytest-sugarpytest.ini)[pytest]
# 关闭 sugar 的进度条(保留其他优化)
addopts = --no-sugar
# 强制展开失败用例的输出(禁用折叠)
sugar_show_captured = always
# 自定义超时标识(需安装 pytest-timeout)
sugar_timeout_icon = ⏰pytest-xdist(进度条显示所有 worker 状态)pytest-rerunfailures 共存,重试用例显示为 ↻pytest-sugar + pytest-emoji 增加趣味性临时关闭 sugar 查看原生输出(排查插件冲突):
pytest -p no:sugar• 原因:终端不支持 Unicode 或颜色 解决:
export TERM=xterm-256color # Linux/macOS
set PYTHONIOENCODING=UTF-8 # Windowspytest-xdist 同时使用时进度条异常• 解决:添加 -n auto 明确指定 worker 数量:
pytest -n auto --tests-per-worker 10• 解决:在 pytest.ini 中禁用输出折叠:
[pytest]
sugar_show_captured = always场景 | 原生 pytest | pytest-sugar |
|---|---|---|
测试通过 | . | ✓ (绿色) |
测试失败 | F + 最后汇总报错 | ✗ (红色) + 实时错误 |
跳过测试 | s | ⚠ (黄色) |
进度反馈 | 无 | [====> ] 60% (动态进度条) |
输出日志 | 默认全部打印 | 折叠点击展开 |
pytest-sugar 通过 进度条、实时错误、彩色标识 三大核心优化,显著提升本地测试体验。推荐在以下场景使用:
https://github.com/Teemu/pytest-sugar
#PytestSugar #Pytest