我们正在为 JBoss 7.1.1 实现一个应用程序,使用 Maven 构建。 我尝试使用 Arquillian 进行集成测试,但对于持久层上的小型测试,构建-打包-部署往返太慢。事实上,我希望团队成员避免进行单元测试。 为了更快,我想实现简单的 JUnit 测试。在以前的项目中,我们这样做过,但我不知道,让它运行的线索是什么。
我确信,许多项目都会进行这种轻量级测试。
有人有一个简单的、最新的 list 来设置基础设施(尤其是 Maven 依赖项)和一个简单的测试示例吗?必须在哪里放置 persistence.xml 进行测试以及如何配置数据库连接?
CU, 托马斯
最佳答案
您可以考虑创建一个内存中 HSQL , H2或Derby数据库并针对该数据库测试您的持久层。为了确保测试数据库具有最新的架构,您可以使用 Liquibase (您也可以使用它来更新您的真实数据库)或 DBUnit .
如果您将 persistence.xml
放置在 src/test/resources
中进行测试,它应该覆盖 src/main/resources< 中驻留的版本
。这样您就可以轻松地进行配置更改(例如,跳过连接池并仅使用内存数据库而不是您通常使用的任何数据库)。
运行测试并且 JVM 关闭后,您的数据库将自动丢弃。
关于java - 如何测试持久层(轻量级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17593088/