我想在柑橘类测试案例中使用在maven pom.xml中定义的属性。
根据环境,将激活一个不同的配置文件,然后定义不同的主机名,端口,... 在柑橘测试用例中,我想使用这些maven属性根据环境将请求定向到正确的主机。
如何解决此问题? 确实尝试过env()和systemProperty()函数,但它们没有为我提供这些值。 另外,我确实尝试使用弹簧方法并尝试设置 hostname = @ hostname.property.from.maven @ 不幸的是,这也不起作用。
使用的版本:
答案 0 :(得分:0)
Citrus测试是在Maven中使用maven-failsafe插件(如果需要的话,也可以使用maven-surefire)执行的。因此,您需要将系统属性传递到该插件配置以进行测试执行。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<foo.server.host>127.0.0.1</foo.server.host>
<foo.server.port>8080</foo.server.port>
</systemPropertyVariables>
</configuration>
</plugin>
Maven测试执行现在可以看到系统属性,因此可以在Spring和Citrus组件中使用这些属性。例如,您可以使用Spring的属性占位符配置器。
Maven故障安全插件配置还能够解析Maven项目属性。
<properties>
<server.host>127.0.0.1</server.host>
<server.port>8080</server.port>
</properties>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<foo.server.host>${server.host}</foo.server.host>
<foo.server.port>${server.port}</foo.server.port>
</systemPropertyVariables>
</configuration>
</plugin>
您现在应该能够基于Maven配置文件激活和环境设置来设置这些属性。