目录
一、测试分类
1、黑盒测试
不写代码,只考虑给定输入值释放得到预期的输出结果;
2、白盒测试
写代码,关注代码执行的过程,比如:执行效率,内存消耗等;
二、Junit的使用:白盒测试
1、步骤
①定义一个测试类(测试用例)
建议:测试类名:被测试的类型Test;包名:XXX.XXX.XX.test;
②定义测试方法,可独立运行
建议:方法名:test测试的方法名;返回值:void;参数列表:空参;
③给方法加@Test
④导入Junit依赖文件
2、代码实现
被测试的类:
package study.plus;
public class Plus {
public int add(int x,int y){
return x+y;
}
}
测试类:
package study.Test;
import org.junit.Assert;
import org.junit.Test;
import study.plus.Plus;
public class PlusTest {
@Test
public void TestAdd(){
//1、创建对象
Plus p = new Plus();
//2、调用加法
int result = p.add(1,2);
System.out.println(result);
//3、断言,参数1:预期值,参数2:实际值
Assert.assertEquals(3,result);//出现问题则会抛出异常
}
}
运行结果说明(通过:绿;不通过:红;):
备注:
我们一般使用断言操作来处理结果 * Assert.assertEquals(预期的结果,实际的结果);
三、Juint的两个注解说明
1、@Before
解释:
一般用于申请资源,在所有的测试方法之前执行;
格式:
@Before
public void init(){
System.out.println("一般用于申请资源,在所有的测试方法之前执行;");
}
2、@After
解释:
一般用于释放资源,在所有的测试方法之后执行;
格式:
@After
public void close(){
System.out.println("一般用于释放资源,在所有的测试方法之后执行;");
}
3、代码演示
代码:
package study.Test;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import study.plus.Plus;
public class PlusTest {
@Before
public void init(){
System.out.println("一般用于申请资源,在所以的测试方法之前执行;");
}
@After
public void close(){
System.out.println("一般用于释放资源,在所以的测试方法之后执行;");
}
@Test
public void TestAdd(){
//1、创建对象
Plus p = new Plus();
//2、调用加法
int result = p.add(1,2);
System.out.println(result);
//3、断言,参数1:预期值,参数2:实际值
Assert.assertEquals(3,result);//出现问题则会抛出异常
}
}
运行结果: