首页 > 解决方案 > 如何在 Pytest 参数化 id 中显示非 ascii 字符

问题描述

这是我的测试脚本:

@pytest.mark.parametrize('data', [0, 1], ids=['有效', '无效'])
def test_a(data):
    assert 1

但是每个 id 的名称在 Pycharm 和终端中都被转义:
在此处输入图像描述
在此处输入图像描述

那么,如何解决这个问题?

标签: pythonpycharmpytest

解决方案


截至 2019 年 4 月,pytest 通过以下配置设置pytest.ini其他配置支持此功能:

disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True

使用该配置,问题中的示例按设计工作,无需更改。

此处记录了此设置。

注意:顾名思义,在此配置下运行时出现的问题可能无法获得社区支持,在 Windows 上可能会出现问题,请谨慎使用。

更改是通过拉取请求合并的。4995 ,并且可以在链接的问题(第 2482 号)中找到对有点深奥的名字(以及此设置可能出现的问题)的讨论。


推荐阅读