Генерация уникального значения для каждой итерации теста для параметризованного класса
Есть класс с тестами; он запускается с фикстурой с параметризацией
@pytest.fixture(scope='class', params=[
(config.ADMIN_GPM_LOGIN, config.PASSWORD),
(config.MANAGER_GPM_LOGIN, config.PASSWORD)
])
def client(request):
login, password = request.param
client_instance = ScenariosClient(login=login, password=password)
return client_instance
Я пытаюсь генерировать уникальное значение в тесте с помощью библиотеки faker
, но оно генерируется лишь один раз для класса.
Пробовал генерировать с помощью отдельной фикстуры:
@pytest.fixture(scope='function')
def unique__name():
return fake.name() + " " + fake.email()
При этом, мне нужно, чтобы тест-функция запустилась два раза в соответствии с количеством параметров в фикстуре, так что отдельная параметризация с названиями в тестах мне не подходит.
Пример класса:
class TestScenarioCreateDraft:
def test_scenario_create_endless_draft_without_description_(self, client):
config = {
"name": #тут вставляем генерируемое значение,
"startedAt": "2019-10-12T07:20:50+03:00",
"timezone": "Europe/Moscow",
"isEndless": True,
"isDebugEnabled": False,
"disallowProfileReprocessing": False,
}
post_scenario_draft = client.create_scenario_draft(
config_scenario=config
)