У меня есть следующие тесты:
@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 и этот вопрос и этот вопрос, но ни один из них не отвечает на следующие вопросы:
- Что передается функции id? В моем коде выше первый тест принимает один параметр, второй — два.
- Документы pytest используют функцию верхнего уровня для идентификатора, тогда как я хотел бы поместить свои тесты в класс и использовать
@staticmethod
. Попытка сослаться на статический метод с помощьюTestClass.static_method
изнутриTestClass
дает ошибку в PyCharm; каков правильный синтаксис для этого?
Изменить: создан https://github.com/pytest-dev/pytest/issues/8448.