Тест проходит в одиночку и падает в общем прогоне: разбор сессионной фикстуры
В наборе есть такой код:
@pytest.fixture(scope="session")
def user():
return create_user(balance=1000)
def test_purchase(user):
buy(user, price=1000)
assert get_balance(user) == 0
def test_refund(user):
refund(user, amount=200)
assert get_balance(user) == 1200
Что произойдёт при полном прогоне набора?
- Оба теста упадут: pytest запрещает изменять данные, созданные фикстурой с областью session
- Всё пройдёт: pytest пересоздаёт фикстуру, если данные внутри неё изменились в предыдущем тесте
- Упадёт test_purchase: на момент первого теста фикстура ещё не инициализирована и баланс нулевой
- test_refund упадёт при полном прогоне и пройдёт при запуске в одиночку: оба теста работают с одним и тем же пользователем
