JUnit单元测试
目前java的单元测试Junit版本是4.x,支持使用注解(Annotation)的方式进行单元测试的配置
在4.x的版本之前,需要继承TestCase,而现在只需要使用 @Test @Before @After 等注解就可以实现了。
程序的BUG基本上都是由某些“值”引起的,而且这些错误都可以利用“值”的正确与否来辨别出来,
而Junit就提供了一些API,专门用于探测某些值是否等于正常值,这些API被称为“断言”,即:assert
Junit不是java自带的,在使用前需要导入jar包(文章下有jar包附件),下面我们写一个示例
public class UserService {@Testpublic void addUser(){int i=1;int j=3;int total=i+j;Assert.assertEquals(total,6);}}
这个是一个最简单的测试类,@Test是最常用的测试注解,当一个方法被它标识后,就表示这个方法纳入到测试环境里,
Assert.assertEquals()就是用来判断某个值是否等于期望值的断言程序。

此时可以点击右键,Run As---》Junit Test就可以得到一个界面:Failures后面

是1,这说明有错误,下方会有一个很宽的红色横线。

因为total确实不等于6,改成4后,全部通过。

Failures后面是0,下方会有一个很宽的绿色横线。表示测试通过。

Junit4的常用注解
@Before注解会在每次@Test方法执行前执行
@After注解会在每次@Test方法执行后执行
@Test注解的方法即测试方法
@BeforeClass注解的方法会在所有方法前执行一次,此方法必须是static 方法
@AfterClass注解的方法会在所有方法后执行一次,此方法必须是static 方法

全部代码如下:

import org.junit.Assert;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class UserService {    @BeforeClass    public static void init(){        System.out.println("初始化");    }                @Before    public void everyinitUser(){        System.out.println("每次调用");    }                            @Test    public void addUser(){         int i=1;         int j=3;         int total=i+j;         Assert.assertEquals(total,4);    }                @Test    public void deleteUser(){        System.out.println("删除用户");    }            }

要导入: junit-4.7.jar包,根据名称去下载吧!