Код: Выделить всё
@pytest.fixture(scope='function', autouse=True)
def session(db, request):
connection = db.engine.connect()
transaction = connection.begin()
options = dict(bind=connection, binds={}, autoflush=False, autocommit=True)
db.session = db.create_scoped_session(options=options)
def teardown():
transaction.rollback()
connection.close()
db.session.rollback()
db.session.remove()
request.addfinalizer(teardown)
yield db.session
Код: Выделить всё
FAILED ... - sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
FAILED ... - sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (r...
FAILED ... - sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised...
FAILED ... - sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a ...
FAILED ... - AssertionError: assert [{'id': 1, 'l...'Test'}, ...}] == [{'id': 1, 'l...'Test'}, ...}]
FAILED ... - AssertionError: assert 'updated-diagram' == 'test_1'
ERROR ... - sqlalchemy.exc.InvalidRequestError: No transaction is begun.
- ... рассмотрите возможность использования блока session.no_autoflush... - в параметрах сеанса есть autoflush=False
- ... Чтобы начать новую транзакцию с этим сеансом, сначала выполните Session.rollback()... - у меня это также есть при демонтаже
- AssertionError - оба из них из-за неправильного отката
- sqlalchemy.exc.InvalidRequestError: Транзакция не начата. - понятия не имею, что и почему здесь произошло
Подробнее: https://stackoverflow.com/questions/714 ... oesnt-work