单元测试JUnit

来源:互联网 发布:ant java版本 编辑:程序博客网 时间:2024/05/01 14:10

今天总结一下java中常用的一种测试方法–单元测试JUnit。单元测试针的对象是类中的方法,被测试的方法必须满足如下几个条件:
1. 无返回值
2. 无参数
3. public修饰
下面给出一个例子:

import org.junit.Test;public class Test2 {    @Test    public void sum() {        int a=9;        int b=8;        int sum = a+b;    }}

代码很简单,功能是计算两个整数的和,要测试这个函数可以直接在主函数里调用它,也可以采用单元测试的方法测试,这个方法的上面有@Test语句,它的作用是表示这个方法是测试方法,这里需要导入相应的类,eclipse需要下载并导入junit.jar包,myeclipse自带相应的包。测试的时候只需要选中方法名,单击鼠标右键,选择Run as下的单元测试即可,下面是测试的结果:
单元测试1
单元测试窗口在下发,里面有一个绿长条,这个表示当前测试的方法没有任何问题,如果它是深红色的则表示方法测试不通过。我们在代码里加一条输出语句:

import org.junit.Test;public class Test2 {    @Test    public void sum() {        int a=9;        int b=8;        int sum = a+b;        System.out.println(sum);    }}

再进行一下单元测试,结果如下:
2
发现方法通过测试,并且在控制台输出了计算结果。这是对一个方法进行测试,也可以对多个方法进行测试,下面是代码:

import org.junit.Test;public class Test2 {    @Test    public void sum() {        int a=9;        int b=8;        int sum = a+b;        System.out.println(sum);    }    @Test    public void sum2() {        int a=10;        System.out.println(2*a);    }    @Test    public void sum3() {        int b=10;        System.out.println(3*b);    }}

这里谢了三个方法,功能很简单,要对这三个方法进行单元测试,只需在代码中任意地方单击鼠标右键,然后选择run as下的单元测试即可,下面是测试结果:
3
结果是三个方法都测试通过,而且都在控制台输出了结果,这样比一个一个去调用测试方便的多。如果现在我只想对sum和sum3这两个方法进行测试,而不想对sum2测试该怎么做呢,很简答,只需把方法上的@Test换成@Ignore就可以了,这里不再叙述。除了@Test和@Ignore外,还有@After和@Before这两个语句,他俩的作用是分别在方法测试的前后执行对应的方法,下面是代码:

import org.junit.After;import org.junit.Before;import org.junit.Test;public class Test2 {    @After    public void testAfter() {        System.out.println("after");    }    @Test    public void sum() {        int a=9;        int b=8;        int sum = a+b;        System.out.println(sum);    }    @Before    public void testBefore() {        System.out.println("before");    }}

下面是结果:
4
会发现在执行sum方法前执行了testAfter()方法,在sum执行之后执行了testBefore()方法,这就是@After和@Before的作用。

0 0
原创粉丝点击