通常用于参数化测试方法-测试类test_bar
的TestFoo
的pytest输出看起来像
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)
实例的TestFoo
。 最佳答案
您可以使用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,并且看起来它将很快合并。