有没有工具可以透明地监控数据库事务,并允许批量回滚?类似于DBunit提供的功能,但不是在单元测试的上下文中,而是持续更长的时间(例如,对于持续5-10分钟的测试,在UI中完成,而不是在自动测试中完成)
例如:开发人员集成了一个新功能,并以交互方式对其进行测试。10分钟后,数据就乱七八糟了,他想回到数据库的安全状态。
备份/快照不适合这里,因为数据库非常大,并且返回到备份/快照非常耗时。因此,更轻量级的东西将是首选。
顺便说一句,使用的是Windows SQL Server 2008 Standard,所以我们根本不能使用快照。应用程序的技术堆栈是Java / JPA / Hibernate。
谢谢!
发布于 2011-01-25 23:44:36
我不知道有什么可以实现你所描述的。您必须在与数据库的连接上管理自己的事务。
您可以在测试开始时启动一个事务,然后在测试结束时将其回滚,但这会产生锁定表以防止其他人使用DB的副作用。
您可能希望考虑使用加载了测试数据的SQLite数据库,然后将其“丢弃”。这是快速和伟大的测试。
https://stackoverflow.com/questions/4795459
复制相似问题