Как вы тестируете код, который отключает автокоммит и использует точки сохранения, внутри юнит-теста Django?
Класс unitjt по умолчанию Django объединяет все тесты в декораторе @atomic
, который обычно является именно тем, что вам нужно, чтобы гарантировать сброс базы данных sqlite между тестами. Однако любой код, который касается transaction.set_autocommit()
из теста, выдает ошибку:
TransactionManagementError: This is forbidden when an 'atomic' block is active.
, даже если он отлично работает вне юнит-теста.
Как временно отключить автокоммит транзакций в модульном тесте, чтобы можно было проверять фиксации вручную?