在JUnit中,可以通过以下方法将参数传递到单元测试方法中:
- 建设者
- 通过
@Parameter
注入字段
PS已通过JUnit 4.12测试
1. MatchUtils –使用多个参数进行测试
一个简单的添加操作。
MathUtils.java
package com.mkyong.examples;
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
}
1.2 MatchUtils –通过构造函数进行参数化
参数通过构造函数传递到测试方法中。
ParameterizedTest.java
package com.mkyong;
import com.mkyong.examples.MathUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
import java.util.Arrays;
import java.util.Collection;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
@RunWith(value = Parameterized.class)
public class ParameterizedTest {
private int numberA;
private int numberB;
private int expected;
// Inject via constructor
// for {8, 2, 10}, numberA = 8, numberB = 2, expected = 10
public ParameterizedTest(int numberA, int numberB, int expected) {
this.numberA = numberA;
this.numberB = numberB;
this.expected = expected;
}
// name attribute is optional, provide an unique name for test
// multiple parameters, uses