Junit的入门使用

来源:互联网 发布:好听的淘宝会员名大全 编辑:程序博客网 时间:2024/05/21 04:21

一、安装
1.从http://www.junit.org/ 下载junit4相应的jar包;
2. 在CLASSPATH中加入JAR包所在的路径,如E:\Java\jar\junit\junit-4.10.jar;
3. 将junit-4.10.jar加入到项目的lib文件夹或者Libaries中;
4. Window -> Preference -> java -> JUinit(或者Window -> Show View -> Java -> JUnit),检测该项是否存在。若存在,则安装成功;

二、使用
Eclipse中已经对JUnit做了集成,可见其重要性,下面简单介绍一下在Eclipse中使用JUnit 4对加减乘除进行测试。
1.新建工程,写出加减乘除的代码,命名为Calculate类,需要对其进行测试

 public class Calculate {      public int add(int x, int y){          return x + y;      }      public int minus(int x, int y){          return x - y;      }      public int divide(int x,int y){         return x / y;     }     public int multi(int x, int y){         return x * y;       } }

2.对Calculate类添加JUnit 测试单元,右键->new->JUnit Test Case.
这里写图片描述

这里写图片描述

设计测试用例并填入测试函数,主要以加法为例。测试内容中使用的语句主要是assert,timeout,expected(抛出异常)。

package Junit;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Test;public class CalculateTest {    private Calculate cal;    @Before//初始化注释    public void setUp()throws Exception{        cal=new Calculate();    }    @Test(timeout=100)    //(timeout为规定方法的运行时间,超出规定的时间也会出错)    public void testTime() throws InterruptedException{        Thread.sleep(200);        int rel = cal.divide(6, 3);    }    @Test//Test为测试方法注释    public void testAdd() {        assertEquals("正正加法有误",4,cal.add(1,3));        assertEquals("负负加法有误",-4,cal.add(-1,-3));        assertEquals("正负加法有误",-2,cal.add(1,-3));        assertEquals("正负进位有问题",11,cal.add(8,3));    }    @Test    public void testMinus() {        assertEquals("减法有误",-2,cal.minus(1,3));    }    @Test    public void testDivide() {        assertEquals("除法有误",2,cal.divide(6,3));    }    @Test    public void testMulti() {        assertEquals("乘法有误",3,cal.multi(1,3));    }}//以乘法为例,assertEquals("出错输出",我们希望的结果,调用函数)

testTime()会出错

这里写图片描述

因为方法里面的Thread.sleep(200)超出了测试规定的timeout=100ms,所以报错,将里面的sleep改为100或者100内的数就ok了:
这里写图片描述

 介绍几个基本注释:
 
  1.@Test: 测试方法

    a)(expected=XXException.class)如果程序的异常和XXException.class一样,则测试通过
    b)(timeout=100)如果程序的执行能在100毫秒之内完成,则测试通过

  2.@Ignore: 被忽略的测试方法:加上之后,暂时不运行此段代码

  3.@Before: 每一个测试方法之前运行

  4.@After: 每一个测试方法之后运行

  5.@BeforeClass: 方法必须必须要是静态方法(static 声明),所有测试开始之前运行,注意区分before,是所有测试方法

  6.@AfterClass: 方法必须要是静态方法(static 声明),所有测试结束之后运行,注意区分 @After

原创粉丝点击