我正试图隔离我的API测试,并使用回滚来回滚数据库中发生的所有事务。
当前有效的方法:在数据库本身,我可以编写一个SQL查询来更新数据库中的某些表,并在执行回滚后将更新还原。
当前不起作用的:在测试开始时,我有一个测试脚本,该脚本在使用pytest的固定装置和SQLAlchemy执行之前已连接到数据库。在测试的中间,我执行一个操作数据的API调用(我怀疑这是一个单独的会话,这就是为什么回滚不起作用的原因)。在测试结束时,我询问SQLAlchemy执行回滚。但是,API请求的任何更改都不会还原。
如何隔离API测试和回滚更改?