Junit单元测试
一、测试分类
- 黑盒测试:不需要写代码,给输入值,看程序能否输出期望的值。
- 白盒测试:需要写代码,关注程序的具体执行流程
二、Junit使用:白盒测试
1. 步骤
① 创建被测试类(Calculator)
package znb.day01.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 znb.day01.test;
public class CalculatorTest {
}
- 测试类名:被测试的类名Test CalculatorTest
- 包名:与被测试类同济,命名为Test
- 以上两点是创建测试类的建议
③ 定义测试方法
public void testAdd(){
System.out.println("testAdd");
Calculator c = new Calculator();
int result = c.add(1, 2);
Assert.assertEquals(3,result);
}
④ 给方法加@Test
@Test
public void testAdd(){
System.out.println("testAdd");
Calculator c = new Calculator();
int result = c.add(1, 2);
Assert.assertEquals(3,result);
}
⑤ 导入junit依赖环境

2. 判定结果
- 红色:失败
- 绿色:成功
3. 补充
- @Before
初始化方法,用于资源申请,所有测试方法在执行前都会执行该方法 - @After
释放资源的方法,在所以测试代码执行完成之后,都会自动执行该方法
4. 完整的测试类
package znb.day01.test;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import znb.day01.junit.Calculator;
public class CalculatorTest {
@Before
public void init(){
System.out.println("init");
}
@After
public void close(){
System.out.println("close");
}
@Test
public void testAdd(){
System.out.println("testAdd");
Calculator c = new Calculator();
int result = c.add(1, 2);
Assert.assertEquals(3,result);
}
@Test
public void testSub(){
System.out.println("testSub");
Calculator c = new Calculator();
int result = c.sub(1, 2);
Assert.assertEquals(-1,result);
}
}