背景
在GitHub上发现Google给Junit4开发的runner。官方解释:
“TestParameterInjector is a JUnit4 test runner that runs its test methods for different combinations of field/parameter values.”
案例代码
import com.google.testing.junit.testparameterinjector.TestParameter;
import com.google.testing.junit.testparameterinjector.TestParameterInjector;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(TestParameterInjector.class)
public class MyTest {
@TestParameter({"1", "2", "3"}) int i;
@Test
public void test1(@TestParameter boolean enableFlag) {
System.out.println("----" + enableFlag);
}
@Test
public void test2(@TestParameter MyEnum myEnum) {
// ...
System.out.println("----" + myEnum);
}
enum MyEnum { VALUE_A, VALUE_B, VALUE_C }
}
pom文件
<dependency>
<groupId>com.google.testparameterinjector</groupId>
<artifactId>test-parameter-injector</artifactId>
<version>1.4</version>
</dependency>
运行结果
能做什么呢?
目前笔者认为其一用在如果要测多种组合的情况,可以省去写大量的重复代码。
还有其他用处欢迎补充~