Junit单元测试
(白盒测试)
测试分类:
1、黑盒测试
不需要写代码,给输入值,看程序是否能够输出期望的值
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiSXlHeo-1616722449201)(C:\Users\高思语\AppData\Roaming\Typora\typora-user-images\image-20210304215622322.png)]
2、白盒测试
需要写代码,关注程序具体的执行流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TCO1Bt2u-1616722449203)(C:\Users\高思语\AppData\Roaming\Typora\typora-user-images\image-20210304215545087.png)]
Junit使用:白盒测试
步骤:
1、定义一个测试类(测试用例)
建议:
测试类名:被测试的类名Test CalculatorTest
包名:XXX.XXX.XX.Test cn.itcast.test
2、定义测试方法:可以独立运行
建议:
方法名:test测试的方法名 testAdd()
返回值:void
参数列表:空差
3、给方法加@Test
4、导入Junit依赖环境
判定结果:
红色:失败
绿色:成功
一般我们会使用断言操作来处理结果
Assert.assertEquals(期望的结果,运算的结果);
public class Calculator {
/*
加法
@param a
@param b
@return
*/
public int add(int a,int b){
return a+b;
}
/*
减法
@param a
@param b
@return
*/
public int sub(int a,int b){
return a-b;
}
}
public class CalculatorTest {
//测试add方法
@Test
public void testAdd(){
//System.out.println("我被执行了");
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用add方法
int result = c.add(1,2);
//System.out.println(result);
//3、断言 我断言这个结果是3(将+换成-测试)
Assert.assertEquals(3,result);
/*
java.lang.AssertionError:
Expected :3
Actual :-1
*/
}
@Test
public void testSub(){
//System.out.println("我被执行了");
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用add方法
int result = c.sub(1,2);
//System.out.println(result);
//3、断言
Assert.assertEquals(-1,result);
}
}
补充:
@Before:
修饰符的方法会在测试方法执行之前被自动执行
@After:
修饰符的方法会在测试方法执行之后被自动执行
public class CalculatorTest {
/*
初始化方法:
用于资源申请,所有测试方法在执行之前都会先执行该方法
*/
@Before
public void init(){
System.out.println("init...");
}
/*
释放资源方法:
在所有方法执行完之后,会自动执行该方法
*/
@After
public void close(){
System.out.println("close...");
}
//测试add方法
@Test
public void testAdd(){
//System.out.println("我被执行了");
System.out.println("testAdd...");
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用add方法
int result = c.add(1,2);
//System.out.println(result);
//3、断言 我断言这个结果是3(将+换成-测试)
Assert.assertEquals(3,result);
/*
java.lang.AssertionError:
Expected :3
Actual :-1
*/
}
@Test
public void testSub(){
//System.out.println("我被执行了");
System.out.println("testSub...");
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用add方法
int result = c.sub(1,2);
//System.out.println(result);
//3、断言
Assert.assertEquals(-1,result);
}
}