Junit单元测试
1.测试分类
黑盒测试
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
特点:不需要写代码,注重于程序的功能执行,按照程序的功能一项一项执行,不需要测试人员懂代码
白盒测试
白盒测试也称为结构测试,主要用于检测软件编码过程中的错误。程序员的编程经验、对编程软件的掌握程度、工作状态等因素都会影响到编程质量,导致代码错误。
特点: 需要写代码,关注程序代码的具体执行流程,需要测试人员懂代码
2.Junit测试使用:白盒测试
2.1Junit基本使用步骤
(1)定义一个测试类
建议:
测试类名:被测试的类名+Test CalculatorTest
包名 : xxx.xxx.xx.test cn.itcast.test
(2)定义测试方法
建议:
方法名:test+测试的方法名 比如测试add方法 :testAdd()
返回值:void
参数列表:空参
(3)给方法加@Test
(4)导入junit的Test
在@Test上点一下,会提示import class,点击import class会自动引入
(5)点击测试方法旁边的小箭头(比如: run testAdd()
)
(6)判定结果
红色(控制台报错)代表失败,绿色代表成功
2.2Junit基本使用步骤示例
现有一个类 Calculator
,里面有个add
方法(用于计算两整数相加) 需要进行测试
package cn.zqq.junit;
public class Calculator {
public int add(int x,int y){
return x+y;
}
}
(1)定义一个测试类,定义测试方法,给方法加@Test,导入junit的Test
package cn.zqq.test;
import cn.zqq.junit.Calculator;
import org.junit.Assert;
import org.junit.Test;
public class CalculatorTest {
/**
* 测试方法(用于测试add方法)
*/
@Test
public void testAdd(){
//创建对象
Calculator calculator = new Calculator();
//调用方法
int result = calculator.add(1,2);
//断言,断言结果是3(用于测试输出结果 是两个整数相加)
//如果断言的结果是错的,那么就会报错,测试的结果就是红的
//assertEquals(期望的结果,运算的结果)
Assert.assertEquals(3,result);
}
}
(2)点击测试方法左边出现的 运行按钮,点击运行方法
(3)判定结果
- 运行结果是绿色的,运行成功
- 如果修改assert中的期望值,结果就会是红的(报错)
public void testAdd(){
//创建对象
Calculator calculator = new Calculator();
//调用方法
int result = calculator.add(1,2);
//断言,断言结果是5时程序写的是对的,很显然1+2不等于5,就会是红的
Assert.assertEquals(5,result);
}
2.3补充: @After和@Before
@Before:修饰的方法会在测试方法执行之前自动执行
@After:修饰的方法会在测试方法执行之后自动执行
不管@Test修饰的方法是否报错,@After修饰的方法都会自动执行
希望对大家有所帮助!