Python для продвинутых: ООП, типизация и тестированиеОткрытые материалыFixtures в pytest: подготовка данных и scope
Fixtures в pytest: подготовка данных и scope
Уроки курсаFixtures в pytest: подготовка данных и scope
Scope и изоляция
По умолчанию scope равен function: новый экземпляр создаётся для каждого теста. class, module, package и session уменьшают стоимость дорогого setup, но увеличивают риск общего изменяемого состояния.
Session-scoped база или сервер могут быть общими, а данные внутри них лучше изолировать транзакцией, уникальным namespace или очисткой. Порядок тестов не должен влиять на результат.
Autouse-fixtures применяются без явного параметра и поэтому легко создают магию. Используйте их для действительно глобального инварианта, например запрета реальных сетевых запросов, а обычные предметные данные подключайте явно. Хорошая fixture делает зависимость теста видимой.
