在测试自动化中设置保存点并回滚到保存点时要遵循的最佳做法



我是Web服务的新手,我正在考虑使用WebServices在测试自动化中使用保存点机制。下面是一个代码片段

Connection con = 
    DriverManager.getConnection("jdbc:derby://localhost:1527/testDb", 
                                "name","pass");
con.setAutoCommit(false);
Savepoint spt1 = con.setSavepoint("svpt1");
WebService.Post() method for various CRUD operations.....
con.rollback(spt1);
con.commit();

设置保存点和回滚到保存点之间的操作是使用 Web 服务的各种 CRUD 操作,因此在回滚保存点时,应擦除在自动化期间创建的脏数据。我很想知道在这里使用保存点机制是否是一种好的做法,如果可以使用,那么创建 + 回滚保存点的平均时间是多少?

除非我误解了这个问题,否则您无法回滚在另一个事务中完成的操作。所以你在这里做的事情没有多大意义。

保存点和回滚可用于回滚自具有回滚连接的保存点以来执行的操作。其他所有内容都与保存点无关,并且无法撤消。

听起来像是DBUnit的完美用例 - 它可以在每次测试执行之前重新创建整个数据库。

最新更新