我正在尝试用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;
}
}