如果您想针对您的数据库层运行集成测试(前端 + 后端)或单元测试,您的问题并不清楚。
如果您需要一个允许您编写集成测试的工具,您应该明确地查看Selenium。使用 Selenium,您可以通过简单地浏览您的网站(JSP 页面)并断言页面上的内容存在或等于某些值来生成功能测试。
Selenium 附带一个Firefox 插件,它基本上会为您生成代码。您可以在浏览器中重放测试或将它们导出为 Java 代码并将它们作为测试套件的一部分。Selenium 是一种非常宝贵的工具。
使用像 Selenium 这样的工具的缺点是您的应用程序需要部署在某个地方才能运行您的测试套件。如果您计划运行使用 Selenium 生成的自动化测试,这可能是一个限制。
如果您只对测试您的数据库访问代码(DAO,数据访问层)感兴趣,那么 DBUnit 是完美的工具。通常,DBUnit 用于在测试之前初始化数据库表,并且很少用于对数据库内容运行断言。DBUnit 使用基于 XML 的格式来表示将插入数据库的数据。
包含用于预填充数据库的数据的 XML 文件通常由构建脚本(Ant、Maven 等)触发或直接在您的单元测试代码中触发。我已经使用了这两种方法,这实际上取决于您的代码结构和访问数据库的方式(Hibernate、Spring+Hibernate、JDBC ......)。
如果您的数据库不是太大,我建议您在运行测试套件之前填充它。或者,您可以在每次测试之前仅填充您有兴趣测试的表。
这是 Unitils 的链接,这是一个额外的库,可以在 DBUnit 之上使用,以简化数据库测试策略。我认为它可以用作帮助您入门的参考:
http ://www.unitils.org/tutorial.html#Database_testing
这是另一个链接(相当古老,2004 年),显示了 DBUnit 的基本机制:
http://onjava.com/pub/a/onjava/2004/01/21/dbunit.html