maven - 如何将输入从命令行传递到junit maven测试程序

标签 maven junit junit4

我编写了一个 junit 测试来添加两个数字。我需要从命令行传递这个数字。我正在从 Maven 工具运行这个 junit 测试

mvn -Dtest=AddNumbers

我的测试程序如下所示

int num1 = 1;
int num2 = 2;

@Test
public void addNos() {
  System.out.println((num1 + num2));
}

如何从命令行传递这些数字?

最佳答案

像 @artbristol 建议的那样将数字作为系统属性传递是一个好主意,但我发现并不总是保证这些属性将传播到测试。

为了确保将系统属性传递给测试,请使用 maven surefire plugin argLine参数,如

mvn -Dtest=AddNumbers -DargLine="-Dnum1=1 -Dnum2=2"

关于maven - 如何将输入从命令行传递到junit maven测试程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902084/

相关文章:

java - 使用@SpringBootTest时如何在测试类中 Autowiring bean

java - IntelliJ org.junit.Assert.assertEquals 静态导入完成的奇怪行为

java - 对构造函数方法进行单元测试

java - Spring应用程序-非法状态异常

javascript - 如何让 maven jetty 插件知道额外的 web 目录?

java - Maven NAR 依赖关系 - 无法解析依赖关系

java - 如何为使用 java.util.regex 的函数编写 JUnit

java - 如何比较类路径上两个类的公共(public) API?

java - 编译错误: package org. jvnet.hyperjaxb3.item不存在

eclipse - 如何为 Maven/Surefire 和 Eclipse 加载不同的 logback 配置