Pytest параметризация через params и parametrize

python
Теги: #<Tag:0x00007f7b646153a0>

(Vater Vater) #1

Добрый день!

Хочу убрать параметризацию авторизации из декоратора parametrize
Первое что пришло в голову:
Установить в фикстуре авторизации флаг autouse=True и передавать в нее параметры через params. Все остальные фикстуры параметризировать через parametrize.
Но это ни к чему хорошему не привело.
Тестов становится в два раза больше и фикстуры не срабатывают последовательно.

Примерно такой код

@pytest.fixture(scope="class", params=[('login1','pass1'), ('login2', 'pass2')], autouse=True)
def auth(request):
    user = request.param
    login_with(login=user[0], pswd=user[1])


@pytest.mark.usefixtures("personal_page", "other_page")
@pytest.mark.parametrize('data', [(data)])
@pytest.mark.parametrize('table', [(MY_TABLE)])
def test_1_1(db):
    check(db)

Можете подсказать как еще можно решить эту проблему?