我希望能够在最近由Java测试使用的某个属性文件中配置值。 这是我的pom.xml
<profiles>
<profile>
<id>env-dev</id>
<activation>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<target.env>http://myurl.com</target.env>
</properties>
</profile>
</profiles>
<build>
<resources>
<resource>
<directory>src/test/java</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
属性文件
targetEnv=${target.env}
当我运行mvn install -Denv=dev
时,我可以看到在目标文件夹中,属性文件获得了正确的值,但在测试期间,正在使用占位符,我想在运行测试时使用实际值。 / p>
我做错了什么?
由于
答案 0 :(得分:0)
我做错了什么?
首先,不要使用配置文件在环境之间切换。特别是单元测试永远不应该知道任何环境设置。在这种情况下请删除它。
要过滤测试资源,您应该使用<testResources/>
- 标记。