我正在使用标准的Maven项目,我在java resources文件夹中有一个persistence.xml,在test文件夹中有另一个persistence.xml。如何在arquillian测试中使用test文件夹中的persistence.xml?或者这不正常吗?
答案 0 :(得分: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的持久性单元的实例,使用仅测试的persistence.xml,以便能够测试容器外的持久性单元。
答案 1 :(得分:1)
您的代码中有一行您可以定义正在使用的持久性文件。找到它(在大多数平台上使用C-f)并进行更改。
答案 2 :(得分:1)
还应该可以这样添加:
.addAsResource("test-persistence.xml", "META-INF/persistence.xml")