gpt4 book ai didi

java - 使用 Arquillian 进行测试,如何共享 Arquillian.xml?

转载 作者:行者123 更新时间:2023-11-30 06:18:30 25 4
gpt4 key购买 nike

Arquillian 配置文件 Arquillian.xml 如何在项目和团队成员之间共享?

<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="jbossas-managed-wildfly-8" default="true">
<configuration>
<property name="jbossHome">C:\test\wildfly-8.1.0.Final</property>
<property name="javaVmArguments">-Djboss.socket.binding.port-offset=2 -Xmx512m -XX:MaxPermSize=128m</property>
<property name="managementPort">9992</property>
</configuration>
</container>

问题是 this 指向磁盘上的特定位置,不同的团队成员在不同的位置使用 Wildfly。

此外,我们必须为每个使用它的项目复制 Arquillian.xml。

我们使用 Arquillian 进行 Maven 测试(它可以注入(inject)值)和 Eclipse 中的 JUnit 测试(它不能注入(inject)它们)。

有什么办法吗?

最佳答案

既然已经有了 Maven 支持和结构,那么您可以使用 Maven 属性并替换占位符值。很简单

我猜你的 Arquillian.xml 在 src/test/resources/arquillian.xml 下对吧?然后您可以用属性替换绝对值。

 <configuration>
<property name="jbossHome">${jboss.home}</property>
</configuration>

以上属性可以在你的 pom 的属性部分定义,也可以在 mvn 执行期间使用 -Djboss.home=C:\myPath 覆盖

为了让这个东西正常工作,您希望 Maven 在每个开发人员即将打包 arquillian.xml 时自动将此占位符 ${jboss.home} 替换为我们在顶部定义的值属性部分或者我们已经从命令行传递了它。这是通过资源过滤功能完成的

 <build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>

<testResources>
</build>

查看简单示例 here

关于java - 使用 Arquillian 进行测试,如何共享 Arquillian.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com