我希望 Maven 仅在定义了参数时才运行测试阶段。 例如:
mvn test -Dserver=hosname
如果未指定服务器(或为空) - 我不希望运行测试(不在 mvn test 中,也不在 mvn install 中)。
我该怎么做?如何获取代码中的参数值(例如“服务器”)?
最佳答案
假设您正在使用 junit:
- 如果进行一项测试:使用
Assume
检查属性(请参阅下面的@BeforeClass
),如果属性为 null,则跳过测试 - 如果有很多,请创建一个父类并让您的测试扩展它:
.
public class RunIfServerProperty {
@BeforeClass
public static void oneTimeSetup() {
Assume.assumeNotNull(System.getProperty("server"));
}
}
另请参阅Assume
javadoc
关于java - Maven:运行测试前检查参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932033/