Предположим, у вас есть следующий псевдокод pytest:
@pytest.fixture
def path(self):
return os.path.join(...)
@pytest.fixture
def module_names(self, path):
return [......some list comprehension]
@pytest.mark.parametrize('module', module_names)
def test_foo(self, path, module):
.....
И я получаю сообщение об ошибке:
python3.7/site-packages/_pytest/mark/structures.py:99: in _parse_parametrize_parameters
ParameterSet.extract_from(x, force_tuple=force_tuple) for x in argvalues
E TypeError: 'function' object is not iterable
Однако при изменении кода на жестко запрограммированный, как:
@pytest.mark.parametrize('module', ['foo1'])
это работает ...
Есть идеи почему?