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

标签 java unit-testing persistence

我们正在为 JBoss 7.1.1 实现一个应用程序,使用 Maven 构建。 我尝试使用 Arquillian 进行集成测试,但对于持久层上的小型测试,构建-打包-部署往返太慢。事实上,我希望团队成员避免进行单元测试。 为了更快,我想实现简单的 JUnit 测试。在以前的项目中,我们这样做过,但我不知道,让它运行的线索是什么。

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

有人有一个简单的、最新的 list 来设置基础设施(尤其是 Maven 依赖项)和一个简单的测试示例吗?必须在哪里放置 persistence.xml 进行测试以及如何配置数据库连接?

CU, 托马斯

最佳答案

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

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

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

关于java - 如何测试持久层(轻量级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17593088/

相关文章:

java - 从匿名 Java 子类访问 "this"

java - RestEasy + JacksonJaxbJsonProvider 配置包含 + 注释

java - 如何在java中生成人类可读的唯一ID

java - 查找具有完全相同属性的元素

javascript - 数组拒绝返回值

java - JPA - 定义多列唯一约束

nhibernate - 如何使用 NHibernate 持久化枚举

c# - 使用 NSubstitute 的单元测试无效方法

ios - 单元测试(快速/灵活)-(未找到测试)

c# - FakeItEasy ReturnLazily 具有超过 4 个参数的方法