如何在Pytest参数ID中显示非ASCII字符

时间:2018-06-22 09:42:09

标签: python pycharm pytest

这是我的测试脚本:

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

,但是每个ID的名称在Pycharm和Terminal中均被转义:
enter image description here
enter image description here

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

1 个答案:

答案 0 :(得分:1)

从2019年4月开始,pytest通过pytest.iniother configuration中的以下配置设置支持此操作:

disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True

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

此设置记录在here中。

注意:顾名思义,社区支持对于在这种配置下运行时引起的问题可能不可用,并且可能在Windows上引起问题,请谨慎使用。

更改已通过pull request no. 4995进行了合并,可以在in the linked issue (no. 2482)中找到有关有点神秘的名称(以及此设置可能发生的问题)的讨论。