数据库基本单元测试策略:在单元测试之间截断表格&测试数据

时间:2012-02-02 10:28:44

标签: java database junit tdd

我正在尝试使用JUnit来测试一些数据库代码。我对此很陌生,所以请耐心等待。

我有一个本地测试数据库,由四个表组成。其中两个表填充了数据,另外两个表在程序执行之前是空的。

程序基本上对填充的两个表执行一些查询,处理结果然后将这些结果写入执行程序时为空的两个表。有许多方法可以读写db。我想测试这些。

我想要的是tearDown()方法截断程序执行时为空的表,以便它们为下一次测试做好准备。实现这一目标的最佳方式是什么?

此外,每次开发人员设置测试环境时,可能会通过运行SQL脚本来创建包含数据的表。有没有更好的方法呢?它可以自动化吗?会有很多数据,所以我真的不想为每个表手动创建XML数据集。

我正在使用Oracle数据库。

非常感谢您提供的任何建议/建议。

1 个答案:

答案 0 :(得分:2)

尝试在测试中使用DBUnit框架。这是JUnit的扩展,并提供您需要的功能。设置它可能有点困难,但一旦设置它就像一个魅力。