JUnit单元测试
目前java的单元测试Junit版本是4.x,支持使用注解(Annotation)的方式进行单元测试的配置
在4.x的版本之前,需要继承TestCase,而现在只需要使用 @Test @Before @After 等注解就可以实现了。
程序的BUG基本上都是由某些“值”引起的,而且这些错误都可以利用“值”的正确与否来辨别出来,
而Junit就提供了一些API,专门用于探测某些值是否等于正常值,这些API被称为“断言”,即:assert
Junit不是java自带的,在使用前需要导入jar包(文章下有jar包附件),下面我们写一个示例
public class UserService {
@Test
public 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包,根据名称去下载吧!