使用NULL参数

时间:2016-12-07 21:26:21

标签: java android android-studio junit android-testing

我正在尝试用android上的参数化测试运行器编写JUNIT测试。 当我在Android Studio中将其作为AndroidTest的一部分运行时,它会在第一次测试时出现以下错误:

  

示例:尝试设置intVal,其值为null,而不是   right type(String而不是Integer)。

但是当我运行与简单的JUNIT测试相同的代码(在Android Studio的Android测试下)时,它运行正常。

以下是该示例的完整代码:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;

import java.util.Arrays;
import java.util.Collection;

import static junit.framework.Assert.assertEquals;


@RunWith(Parameterized.class)
public class ExampleTEst {

    @Parameterized.Parameters
    public static Collection<Object[]> params() {
        return Arrays.asList(new Object[][]{

                {//Test # 0 :

                        null,
                        "JOJO"

                }
                ,
                {//Test # 1 :

                        1,
                        null

                }
        });
    }

    @Parameterized.Parameter
    public Integer intVal;
    @Parameterized.Parameter(value = 1)
    public String StringVal;

    public static final Object[] resultsObjs = {null, "JOJO", 1, null};
    public static int counter = 0;

    @Test
    public void aTest() {

        assertEquals((Integer) resultsObjs[counter], intVal);
        assertEquals((String) resultsObjs[counter + 1], StringVal);

        counter += 2;


    }
}

0 个答案:

没有答案