什么是TestParameterInjector?

243 阅读1分钟

背景

在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>

运行结果

10.jpg

可以做什么?

目前笔者认为其一用在如果要测多种组合的情况,可以省去写大量的重复代码。 还有其他用处欢迎补充~

git地址:github.com/google/Test…