Java 在arquillian中设置数据源
所以,我有一个主要使用persistence.xml的项目, 它位于src/main/resources/META-INF中 现在我想在编写自动单元测试时使用内存数据库(H2),所以我需要另一个persistence.xml,它位于src/test/resource/META-INF中 所以我的问题是我如何克服第一次坚持 我还使用shrikwrap解析器来解析pom.xml中的所有依赖项,因此它解析了所有依赖项,我将其添加到shrikwrap以返回WebArchive,有没有任何方法,我尝试了许多方法,例如创建概要文件或maven文件,但在解析所有内容并添加到部署时,Arquillian无法使用 您可以在下面找到我的Arquillian部署:Java 在arquillian中设置数据源,java,unit-testing,jboss-arquillian,wildfly-9,shrinkwrap,Java,Unit Testing,Jboss Arquillian,Wildfly 9,Shrinkwrap,所以,我有一个主要使用persistence.xml的项目, 它位于src/main/resources/META-INF中 现在我想在编写自动单元测试时使用内存数据库(H2),所以我需要另一个persistence.xml,它位于src/test/resource/META-INF中 所以我的问题是我如何克服第一次坚持 我还使用shrikwrap解析器来解析pom.xml中的所有依赖项,因此它解析了所有依赖项,我将其添加到shrikwrap以返回WebArchive,有没有任何方法,我尝试了许
WebArchive[] file = Maven.resolver().loadPomFromFile("pom.xml")
.resolve("G:A:V").withTransitivity().as(WebArchive.class);
WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
.addAsResource("META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
war.addAsLibraries(file);
return war;
您是否尝试在
addAsLibrary(文件)
之后添加新资源
这里至少有两种选择
- 使用
-StringAsset
addAsResource(newstringasset(“”,“META-INF/persistence.xml”)
- 在
中以不同的名称保存您的h2文件,例如src/test/resources/
,并使用h2 test persistence.xml
addAsResource(“h2 test persistence.xml”,“META-INF/persistence.xml”)将其添加到
WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
.addAsLibraries(file)
.addAsResource("META-INF/persistence.xml")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");