我有以下测试:
@pytest.mark.parametrize(
"nums",
[[3, 1, 5, 4, 2], [2, 6, 4, 3, 1, 5], [1, 5, 6, 4, 3, 2]]
)
def test_cyclic_sort(nums):
pass
@pytest.mark.parametrize(
"nums, missing",
[([4, 0, 3, 1], 2)]
)
def test_find_missing_number(nums, missing):
pass
我想自定义测试名称以包含输入数组。我已经阅读了pytest docs和this question和this question,但没有人回答以下问题:
- 传递给 id 函数的是什么?在我上面的代码中,第一个测试需要一个参数,第二个测试需要两个。
- pytest 文档对 id 使用顶级函数,而我想将我的测试放在一个类中并使用
@staticmethod
. 尝试TestClass.static_method
从内部引用静态方法TestClass
会导致 PyCharm 出错;这样做的正确语法是什么?