在测试自动化中设置保存点并回滚到它的最佳实践

时间:2012-09-25 18:20:43

标签: java web-services oracle11g savepoints

我是webservices的新手,我正在考虑在使用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();

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

2 个答案:

答案 0 :(得分:0)

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

保存点和回滚可用于回滚自保存点以及您回滚的连接以来所执行的操作。其他一切都不受保存点的影响,也无法撤消。

答案 1 :(得分:0)

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