3

我正在使用一个标准的 Maven 项目,我在 java 资源文件夹中有一个 persistence.xml,在测试文件夹中有另一个 persistence.xml。如何在 arquillian 测试中使用 test 文件夹中的 persistence.xml?或者这不是正常的事情吗?

4

3 回答 3

3

如何在 arquillian 测试中使用 test 文件夹中的 persistence.xml?

您可以为您的测试构建一个 ShrinkWrap 部署,将您的测试资源的 persistence.xml 文件打包,而不是主资源。您可以在 @Deployment 方法中这样引用它:

addAsManifestResource("persistence.xml", new File("src/test/resources/persistence.xml"))

或者这不是正常的事情吗?

这是可以接受的事情。但是,使用 Arquillian Persistence Extension,您应该能够使用主资源的 persistence.xml 文件,因为持久性单元将由容器管理,并且 JPA 提供者可以在运行时使用底层数据源。

对于需要事务类型为 RESOURCE_LOCAL 而不是 JTA 的持久性单元的实例,通常使用仅测试持久性.xml,以启用对容器外部的持久性单元的测试。

于 2012-10-21T04:59:14.723 回答
2

也应该可以像这样添加它:

.addAsResource("test-persistence.xml", "META-INF/persistence.xml")
于 2016-03-16T11:05:55.360 回答
1

您的代码中有一行定义您正在使用的持久性文件。找到它(在大多数平台上使用 Cf)并更改它。

于 2012-10-20T18:28:57.053 回答