设置 arquillian.xml 和 glassfish-resource.xml

set up arquillian.xml and glassfish-resource.xml

我一直在关注 this tutorial 但我在设置 jdbc 连接时遇到了一些问题。

在我的 arquillian.xml 我写道:

...
<container qualifier="payara-remote" default="true">
    <configuration>
        <property name="resourcesXml">
            src/test/resources-payara-remote/glassfish-resources.xml
        </property>
    </configuration>
</container>
...

当我 运行 我的测试我收到这个警告:

AVVERTENZA: Configuration contain properties not supported by the backing object org.jboss.arquillian.container.glassfish.remote_3_1.GlassFishRestConfiguration
Unused property entries: {resourcesXml=
            src/test/resources-payara-remote/glassfish-resources.xml
        }
Supported property names: [adminHttps, remoteServerHttpPort, libraries, type, remoteServerAddress, target, remoteServerAdminPort, remoteServerAdminHttps, adminUser, authorisation, adminPort, properties, adminHost, adminPassword]

所以我认为 "resourceXml" 不受支持...我如何告诉 arquillian 使用该文件?

此外,在该文件中我声明了一个 jdbc/test。我必须在 persistence.xml 中写什么才能使用该数据库连接?

提前致谢

更新

我希望在 "src/test/resources-payara-remote/glassfish-resources.xml" 中使用我的测试数据库声明 jdbc 连接(而不在 远程中创建 jdbc 连接server), 但我不知道如何设置 arquillian 以使用 .xml 文件中声明的 jdbc 连接。

如果您想在远程 GlasFish/Payara 服务器上创建 JDBC 资源,最好的方法是将 glassfish-resources.xml 打包到测试中的部署中(在 @Deployment 方法,使用 .addAsWebInfResource("glassfish-resources.xml")。当服务器在应用程序的 WEB-INF 文件夹中找到这个文件 glassfish-resources.xml 时,它将临时创建资源,直到 arquillian 测试套件取消部署应用程序.

GlassFish/Payara 远程 arquillian 连接器不提供从 xml 设置资源。此功能仅由 glassfish-embedded 连接器提供,它在您的测试 JVM 中 运行s GlassFish/Payara。嵌入式连接器是您所说的教程中使用的连接器。实际上,如果您想 运行 针对远程 GlassFish/Payara 服务器进行测试,您应该比较教程中针对远程 WildFly 进行测试的步骤。它还包括在部署中添加带有资源的 XML:.addAsWebInfResource("jbossas-ds.xml")

如果您想在 Payara 中使用 GlassFish 嵌入式连接器,只需在 maven pom.xml 中添加以下依赖项:

            <dependency>
                <groupId>org.jboss.arquillian.container</groupId>
                <artifactId>arquillian-glassfish-embedded-3.1</artifactId>
                <version>1.0.0.Final</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>fish.payara.extras</groupId>
                <artifactId>payara-embedded-all</artifactId>
                <version>4.1.1.163.0.1</version>
                <scope>test</scope>
            </dependency>