3

我尝试在我的 pom.xml 中设置属性并在我的 jUnit 测试期间访问它们。我要读取它们的类由 jUnit 导入Test.java并正在使用 String prop = System.getProperty("target1"); ,但它始终为空。我已经在我的 pom.xml 中尝试过:

...
<profiles>
    <profile>
        <id>default</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <target1>2948</target1>
        </properties>
    </profile>
</profiles>

并且

...
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-failsafe-plugin</artifactId>
   <version>2.15</version>
   <systemPropertyVariables>
      <target2>2948</target2>
   </systemPropertyVariables>
   <systemProperties>
     <property>
        <name>target3</name>
        <value>2948</value>
     </property>
   </systemProperties>
...
</configuration>
...     

我确实有一个父 pom.xml 但这不可能是问题吗?我正在使用 Netbeans 并通过点击 pom.xml 上的“测试文件”来启动测试

谢谢你:)

4

1 回答 1

1

我不知道 maven-failsafe-plugin,但我可以通过在 maven-surefire-plugin 中添加属性和值来获得结果,因为这是 maven 项目中的 junit 测试所使用的。这里有一个详细的解释:Specify system property to Maven project

来自 maven 站点(http://maven.apache.org/surefire/maven-failsafe-plugin/) - “Failsafe 插件旨在运行集成测试,而 Surefire 插件旨在运行单元测试”。由于您正在运行一个junit,您应该将您的属性添加到surefire插件中。

于 2013-07-16T10:02:35.907 回答