gpt4 book ai didi

java - 如何通过maven插件设置Java/Scala测试的系统属性?

转载 作者:行者123 更新时间:2023-12-01 11:05:00 29 4
gpt4 key购买 nike

我想使用 2 个不同的配置文件运行测试,每个配置文件设置一个 Java 属性,从而导致我的 scala 测试代码以不同的方式执行。

我尝试配置 maven-surefire 和 maven-scalatest 插件:

        <plugin>
<groupId>org.scalatest</groupId>
<artifactId>scalatest-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<systemProperties>
<spark.master>local</spark.master>
</systemProperties>
</configuration>
</plugin>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<systemPropertyVariables>
<spark.master>local</spark.master>
</systemPropertyVariables>
</configuration>
</plugin>

但似乎它们都不起作用,当执行 System.getProperty("spark.master") 时,结果仍然为空。我应该怎样做才能启用此设置?

//-------------------------------------------------------- --

对第一个答案的回应:

我已将 Surefire 配置更改为以下内容:

        <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<executions>
<execution>
<id>test</id>
<goals>
<goal>test</goal>
</goals>
<systemPropertyVariables>
<spark.master>${spark.master}</spark.master>
</systemPropertyVariables>
</execution>
</executions>
<configuration>
<forkCount>1</forkCount>
</configuration>
</plugin>

但显然是在错误的地方。 Maven 给了我这个错误:

[ERROR]     Malformed POM /home/peng/git/datapassport/pom.xml: Unrecognised tag: 'systemPropertyVariables' (position: START_TAG seen ...</goals>\n                        <systemPropertyVariables>... @170:50)  @ /home/peng/git/datapassport/pom.xml, line 170, column 50 -> [Help 2]

最佳答案

(a) 如果您使用 JUnit - 将其版本升级到 4.7 或更高版本并指定显式提供程序:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.18.1</version>
</dependency>
</dependencies>

(b) 在 Surefire 插件配置中指定

<forkCount>1</forkCount>

(c) 使用plugun的执行maven机制来运行两个不同的配置文件

<executions>
<execution>
<id>tests-1</id>
<goals><goal>test</goal></goals>
<configuration>
<systemProperyVariables ... />
</configuration>
</execution>
<execution>
<id>tests-2</id>
<goals><goal>test</goal></goals>
<configuration>
<systemProperyVariables ... />
</configuration>
</execution>

关于java - 如何通过maven插件设置Java/Scala测试的系统属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33047695/

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