我如何测试持久层(轻量级)

时间:2013-07-11 12:13:43

标签: java unit-testing persistence

我们正在使用Maven构建JBoss 7.1.1的应用程序。 我尝试使用Arquillian进行集成测试,但对于持久层的小测试,build-pack-deploy往返速度太慢。事实上,我希望团队成员能够避免进行单元测试。 为了加快速度,我想实现简单的JUnit-Tests。在之前的项目中,我们做到了这一点,但我不知道,让它运行的线索是什么。

我相信,很多项目都会进行这种轻量级测试。

有没有人有一个简单的,最新的cheklist来设置基础设施(尤其是maven-dependencies)和一个简单的测试示例?哪里必须放置persistence.xml进行测试,如何配置数据库连接?

CU,  托马斯

1 个答案:

答案 0 :(得分:2)

您可以考虑创建内存中的HSQLH2Derby数据库,并针对该数据库测试持久层。要确保测试数据库具有最新架构,您可以使用Liquibase(您也可以使用它来更新您的真实数据库)或DBUnit

如果您将persistence.xml放置在src/test/resources进行测试,则应覆盖src/main/resources中的版本。这样您就可以轻松地进行配置更改(例如,跳过连接池,只使用内存数据库,而不是您通常使用的任何数据库)。

运行测试并且JVM已关闭后,您的数据库将自动丢弃。