1.黑盒测试:不需要写代码,给输入值,看是否可以得到预期的结果。
2.白盒测试:需要写代码,需要关注程序具体的执行流程。
步骤:
1.定义一个测试类(测试用例)
建议:
测试类名:被测试类+test
包名:xxx.xxx.xxx.tset
2.定义测试方法:可以独立运行
建议:
方法名:test+测试的方法名
返回值:void
参数列表:空参
3.给方法就爱注解(@test)
@Before就是在执行一个方法之前必须要执行一些资源,那么我们可以将这些资源放在一个方法中,并添加@before注解
@After在方法执行结束后,进行一些扫尾的处理,例如关闭资源等
4.导入Junit的依赖环境
判定结果:
红色:失败
绿色:成功
在Junit中一般我们会进行断言操作(因为在Junit中一般会通过程序执行后的颜色来判断,而不是直接输出结果)
具体代码演示:以一个计算器的加减法为例
首先我们以main方法进行测试,代码如下:
package com.gcy.calculate; /** * 创建一个计算器类(只做加法和减法) */ public class Calculate { /** * 加法 * @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; } }
mian方法测试类:
package com.gcy.calculate; /** * 利用主方法的形式进行测试 */ public class CalculateTest { public static void main(String[] args) { //创建对象 Calculate c=new Calculate(); int result=c.add(1,2); System.out.println(result); } } 上面这种测试方法的缺点是当我们进行了加法的测试后,如果再对减法进行测试,就必须将加法的测试进行注解或进行删除,非常的不变,因此推荐使用Junit进行测试 利用Junit进行测试
package com.gcy.test; import com.gcy.calculate.Calculate; import org.junit.Assert; import org.junit.Test; /** * 使用Junit进行测试 */ public class CalculateTest { /** * 对加法进行测试 */ @Test public void testAdd(){ //创建计算器对象 Calculate c=new Calculate(); //调用方法 int reslut= c.add(1,2); //使用断言 Assert.assertEquals(3,reslut); } @Test public void testSub(){ //创建计算器对象 Calculate c=new Calculate(); //调用方法 int reslut= c.sub(6,5); //使用断言 Assert.assertEquals(1,reslut); } } 在进行Junit进行测试时,注意一般是看程序执行后下方的颜色,红色代表失败,绿色代表成功,应为如果直接输出结果二不使用断言的话,就可能会出现错误,例如,当我们进行加法测试时, 由于失误,调用了减法,程序也不会出错。有兴趣的可以自己尝试一下。