id | title | desc | updated | created |
---|---|---|---|---|
13ko6cnrb0a6kb3lm3wbsw4 |
Junit Test |
1695125404832 |
1694679808896 |
- shortcut for create test class
move cursor to decalre name of origin class which is the unit test target in the editor interface press down
alt
+enter
will pop up the selection dialog then select the itemcreate test
- AndroidJUnitRunner
junit的运行规律,首先固定解析的第一个注解RunWith,根据传入参数
运行器
来执行不同的处理流程,依次解析对应的注解 总结,junit是由注解驱动的测试框架,不同类型运行器 对应不同的注解处理流程
- 使用
RunWith
注解,修饰目标测试类,指定使用参数允许器
@RunWith(Parameterized.class)
public class CurTestClass{
};
- 声明成员变量以及定义用来赋值成员变量的
public
构造函数
junit 参数运行器的执行流程:调用 @Parameterized.Parameters 修饰的静态接口,获取测试集,利用测试集来构造n个对象,依次运行所有实例
private Integer inputNumber;
private Boolean expectedResult;
public CurTestClass(Integer inputNumber,
Boolean expectedResult) {
this.inputNumber = inputNumber;
this.expectedResult = expectedResult;
}
- 定义一个由 org.junit.runners.Parameterized.Parameters 修饰的静态成员函数,返回值为 java.util.Collection, 在此方法中初始化所有参数对
@Parameterized.Parameters
public static Collection primeNumbers() {
return Arrays.asList(new Object[][]{
{2, true},
{6, false},
{19, true},
{22, false},
{23, true}
});
}
- 正常编写测试函数,使用成员变量进行设置
@Test
public void testPrimeNumberChecker() {
System.out.println("Parameterized Number is : " + inputNumber);
Assert.assertEquals(expectedResult,
primeNumberChecker.validate(inputNumber));
}
- 同一个进程内,所有对象