将测试方法的自己名称注入pytest输出

时间:2014-10-16 09:01:05

标签: python testing pytest

参数化测试方法的正常pytest输出 - 测试类test_bar的{​​{1}}看起来像

TestFoo

是否可以根据path/to/test_file.py:67: TestFoo.test_bar[param1] FAILED 实例的参数?

注入自己的名称
TestFoo

path/to/test_file.py:67: TestFoo.test_bar[own-generic-name] FAILED own-generic-name实例str(self.baz)的位置。

1 个答案:

答案 0 :(得分:2)

您可以使用ids关键字将字符串列表传递给parametrize,以便自定义测试ID:

import pytest

@pytest.mark.parametrize('i', [1, 2], ids=['param1', 'param2'])
def test_foo(i):
    pass  

生成此输出:

test_foo.py:3: test_foo[param1] PASSED
test_foo.py:3: test_foo[param2] PASSED

使用callable自定义生成的id正在here上进行,看起来很快就会合并。