Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在arquillian中设置数据源_Java_Unit Testing_Jboss Arquillian_Wildfly 9_Shrinkwrap - Fatal编程技术网

Java 在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,有没有任何方法,我尝试了许

所以,我有一个主要使用persistence.xml的项目, 它位于src/main/resources/META-INF中

现在我想在编写自动单元测试时使用内存数据库(H2),所以我需要另一个persistence.xml,它位于src/test/resource/META-INF中

所以我的问题是我如何克服第一次坚持

我还使用shrikwrap解析器来解析pom.xml中的所有依赖项,因此它解析了所有依赖项,我将其添加到shrikwrap以返回WebArchive,有没有任何方法,我尝试了许多方法,例如创建概要文件或maven文件,但在解析所有内容并添加到部署时,Arquillian无法使用

您可以在下面找到我的Arquillian部署:

    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”)
  • src/test/resources/
    中以不同的名称保存您的h2文件,例如
    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");