转载

Junit单元测试

单元测试Junit

一.测试的分类:

1.黑盒测试:不需要写代码,给输入值,看是否可以得到预期的结果。

2.白盒测试:需要写代码,需要关注程序具体的执行流程。

二.Junit使用

1.Junit属于白盒测试

步骤:

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进行测试时,注意一般是看程序执行后下方的颜色,红色代表失败,绿色代表成功,应为如果直接输出结果二不使用断言的话,就可能会出现错误,例如,当我们进行加法测试时,
由于失误,调用了减法,程序也不会出错。有兴趣的可以自己尝试一下。

原文  http://www.cnblogs.com/juddy/p/12521466.html
正文到此结束
Loading...