В одной из лекций Алексея Баранцева говорится о том, как можно организовать передачу тестовых данных из файла. Но у меня возник вопрос: если у меня есть большое количество наборов для одного и того же теста. Например, есть множество вкладок поиска, для каждой из которых свой набор данных, но тестируют они все 1 функциональность - поиск.
На текущий момент получается, что для каждого набора данных нужно создавать свой файл с данными. Я же хочу сделать следующее: поместить все наборы данных в 1 файл, а в тестовых функциях указывать, какой набор использовать. Отсюда вопрос: как это реализовать?
conftest:
def pytest_generate_tests(metafunc):
for fixture in metafunc.fixturenames:
if fixture.startswith("data_"):
module = load_from_module(fixture[5:])
metafunc.parametrize(fixture, module, ids=[repr(id) for id in module])
def load_from_module(module):
return importlib.import_module("data.%s" % module).testdata # get the rest of data_ from test method param and look for in data dir