如何在fitnesse测试之间重置h2数据库?

时间:2013-07-12 12:34:56

标签: java spring hibernate fitnesse

我想在fitnesse页面之间重置数据库(H2)。

我现在最好的猜测是在设置中删除并重新创建基础。

我尝试使用SchemaExport,但它使用.sql文件,我的数据库配置使用JPA Annotations。

如果我"DROP ALL OBJECTS"甚至"SHUTDOWN",我不知道如何重新创建表格

我可以使用"TRUNCATE TABLE",但它不是通用的,我认为它会比丢弃和重新创建更长。

我无法回滚交易,因为灯具不共享相同的交易。

Hbm2ddl=create-drop将无效,因为我只为整个测试套件加载一次spring上下文。

你怎么样,fitnesse / spring / hibernate用户,处理这种情况?

1 个答案:

答案 0 :(得分:0)

这可能不会成为我唯一的答案,但此刻我可以谈谈过去我是如何做过这样的事情的。

一个选项,我同意它比您正在寻找的更麻烦,是将测试套件作为CI系统中的独立实体运行。我过去所做的不是将整个测试套件作为一个大运行运行,而是将其分解为单独的Hudson / Jenkins工作(这提高了我们快速运行测试和减少内存问题的能力)。然后,作为启动hudson / jenkins作业的一部分,我们重置了数据库。

这样做就可以了解更多hudson / jenkins作业,但是如果可以针对不同的数据库运行套件,则可以并行运行多个作业。