使用pytest实现参数化后,控制台输出的日志是乱码

测试用例id显示的是乱码

问题

testcases/test_测试用例.py::TestPro::test_测试用例_用例1**[\u5fc3\u453g2]** PASSED [ 33%]

要让 pytest 在参数化测试中正确显示中文用例名称而非 Unicode 转义字符,可以通过以下两种方法

解决:

全局禁用测试 ID 转义

在项目根目录创建 pytest.ini 文件,并添加以下配置:

ini 复制代码
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True

注意 :此选项会禁用所有测试 ID 的转义,确保用例名称不含特殊字符(如 /: 等),否则可能引发路径问题。

补充说明

  • 编码一致性 :确保测试文件保存为 UTF-8 格式。
  • 终端/IDE 支持:确认运行环境(如终端或 IDE)支持 UTF-8 编码,避免乱码。

选择任一方法即可解决 Unicode 转义问题。推荐优先使用 ids 参数,以保持作用域局部性。

相关推荐
姚青&5 天前
PyCharm 配置与界面化运行
pytest
姚青&5 天前
Pytest 测试用例断言
测试用例·pytest
姚青&5 天前
Pytest 命名规则
pytest
姚青&5 天前
Pytest 测试用例结构
测试用例·pytest
姚青&5 天前
Pytest 简介、安装与环境准备
pytest
测试渣6 天前
持续集成中的自动化测试框架优化实战指南
python·ci/cd·单元测试·自动化·pytest
小凯123457 天前
pytest框架-详解(学习pytest框架这一篇就够了)
python·学习·pytest
逻极7 天前
pytest 入门指南:Python 测试框架从零到一(2025 实战版)
开发语言·python·pytest