Я использую событие SqlAlchemy before_flush
для проверки объектов перед их сохранением в базе данных, например:
from models import db
@event.listens_for(db.session, 'before_flush')
def validateSomething(session, flush_context, instances):
pass
Я бы очень хотел проверить, что я там делаю. Однако в моих тестах - я использую pytest - для каждого теста создается новый сеанс с использованием прибора. Это похоже на эту настройку: http://alexmic.net/flask-sqlalchemy-pytest/ Приспособление с областью функции создает транзакцию вместе с сеансом и откатывает / удаляет их во время разрыва.
Поскольку событие зарегистрировано в (область действия ) сеанс в models.db
, он не срабатывает для событий сеансов, используемых в тестах. Есть ли способ исправить это, чтобы события запускались во время тестов?