Junit入门学习(1)------- 安装和简单使用

时间:2022-08-01 05:06:39

一、简介

JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。这两个牛人中Erich Gamma 是 GOF 之一;Kent Beck 则在 XP 中有重要的贡献(你觉得眼熟一点都不奇怪)。

       正如常言道:“麻雀虽小,五脏俱全。” JUnit设计的非常小巧,但是功能却非常强大。

       下面是JUnit一些特性的总结:

1)        提供的API可以让你写出测试结果明确的可重用单元测试用例

2)       提供了三种方式来显示你的测试结果,而且还可以扩展

3)       提供了单元测试用例成批运行的功能

4)       超轻量级而且使用简单,没有商业性的欺骗和无用的向导

5)       整个框架设计良好,易扩展

对不同性质的被测对象,如Class,Jsp,Servlet,Ejb等,Junit有不同的使用技巧。由于本文的性质,以下仅以Class测试为例。

下面我们就叩开JUnit的大门吧!

二、下载

点击http://www.junit.org可以下载到最新版本的JUnit。至于安装或者配置之类,你只需要轻松的将下载下来的压缩包中的jar文件,放到你工程的classpath中就可以了。

这样,你的系统中就可以使用JUnit编写单元测试代码了!

三、入门代码

Calculator.java

package com;

public class Calculator
{
    public static double add( double number1, double number2 )
    {
        return number1 + number2;
    }
}

JunitTest.java

package com;

import junit.framework.TestCase;

import org.junit.Test;

public class JunitTest extends TestCase{

	@Test
	public void testAdd(){
		double result = Calculator.add(30, 60);
		assertEquals("数据与期望值不符",90, result, 0);
	}
}

四、从上面的代码和运行中,我们可以总结junit3和junit4的使用区别如下

1、JUnit3需要继承TestCase类,JUnit4不需要

2、JUnit3需要覆盖TestCase中的setUp和tearDown方法,其中setUp方法会在测试执行前被调用以完成初始化工作,而tearDown方法则在结束测试结果时被调用,用于释放测试使用中的资源,而在JUnit4中,只需要在方法前加上@Before,就代表这个方法用于初始化操作,如上面的beforeDoTest方法,方法名是随意的

3.、在JUnit3中对某个方法进行测试时,测试方法的命令是固定的,例如对addBook这个方法进行测试,需要编写名字为tetAddBook的测试方法,而在JUnit4中没有方法命令的约束,例如对addBook这个方法进行测试,那么可以编写addBookToLibrary的方法,然后在这个方法的前面加上@Test,这就代表这个方法是测试用例中的测试方法

4.、编写JUnit4的测试用例和编写一个普通的类没有什么区别,只是需要加上Annotation指定要测试的方法,这种松偶合的设计理念相当优秀,能很好把测试分离出来.使用JUnit4的Annotation功能,需要JDK 1.5或以上版本