我正在将数据从旧版系统传输到Django。为了确保当前数据库的完整性,我将手动提交所有内容。
但是,在编写单元测试时,事务将无法正确回滚。由于TestCase
可能正在使用事务,是否有任何方法可以在Django中正确测试依赖事务的代码?
@transaction.commit_manually
def import_records():
# initial prep
try:
import_data()
except Exception as error:
rollback = True
except (KeyboardInterrupt, SystemExit):
sys.stdout.write("Import canceled\n")
rollback = True
if rollback is True:
transaction.rollback()
# save history of import
最佳答案
我相信您正在寻找的 TransactionTestCase
与正常的TestCase
相比,处理设置和拆卸的方式有所不同。