测试分类:
1.黑盒测试:
不关注具体的实现逻辑,看不到具体代码,传入参数,能否输出预期值
2.白盒测试:
需要编写代码,关注具体过程、流程
Junit单元测试(白盒测试)
*步骤:
1.定义一个测试类(测试用例)
测试类名:被测试类+Test
包名:xx.xxx.xx.test
2.定义测试方法:可以独立运行
方法名:test+测试方法名 testAdd()
返回值:void
参数列表:空参
3.给方法加 :
打法@Test 注解
4.导入Junit依赖环境
(红色小灯泡 - Add ‘JUnit4’ to classpath - OK)
测试方法:
点击箭头 - Run
判定结果:
绿色为测试成功
红色为失败
一般使用断言操作处理结果
Assert.assertEquals(期望结果,运算结果)
正确绿色
错误红色
@Test
public void testAdd() {
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用方法
int result = c.add(1, 3);
//System.out.println(result);
//3、断言
Assert.assertEquals(3,result);
}
Calucuator类:
package cn.sdut.Junit;
public class Calculator {
//加法
public int add(int a, int b) {
return a+b;
}
//减法
public int sub(int a, int b) {
return a-b;
}
}
Calculatortest类:
package test;
import cn.sdut.Junit.Calculator;
import org.junit.Test;
public class CalculatorTest {
//测试add方法
@Test
public void testAdd() {
//System.out.println("执行了");
//1、创建计算器对象
Calculator c = new Calculator();
//2、调用方法
int result = c.add(1, 3);
System.out.println(result);
}
}
After+Before:
报错了也能运行
/*
初始化方法:
用于资源申请,所有测试方法再执行之前都会先执行该方法
*/
@Before
public void init() {
System.out.println("init ...");
}
/*
资源释放方法:
在所有方法执行之后执行该自动方法
*/
@After
public void close() {
System.out.println("close ...");
}