3. 使用JUnit进行单元测试的一般步骤
3.1. 获得Junit
下载得到JUnit的安装软件包。
3.2. 安装JUnit安装JUnit只需要很简单的两个步骤,下面是安装Junit的步骤:
(1)解开DownLoad下来的junit.zip文件。
(2)增加junit.jar到classpath中。例如,set classpath = %classpath%; INSTALL_DIR\Junit3.7\junit.jar经过这两步,就可以开始使用JUnit了。
3.3. 使用JUnit编写测试代码的一般步骤
使用JUnit编写测试代码的一般步骤是:
(1)定义测试类名称,一般是将要测试的类名后附加Test。
(2)引入JUnit框架包。import junit.framework.*。
(3)测试类继承JUnit的TestCase类。
(4)实现类的构造方法,可以在构造方法中简单的调用super(name)即可。
(5)实现类的main()方法,在main()方法中简单调用junit.textui.TestRunner.run(DateUtilTest.class)来指定执行测试类。
(6)重载setUp()和tearDown()方法,setUp()方法用于执行每个测试用例时进行环境的初始化工作(比如打开数据库连接),tearDown()方法用于执行每个测试用例后清除环境(比如关闭数据库连接)。
(7)编写每个测试用例,一般是要测试的方法前附加test。
完整的代码框架如下所示:
import junit.framework.*; public class DateUtilTest extends TestCase { /** * 构造函数 */ public DateUtilTest(String name) { super(name); } /** * 主方法 */ public static void main(String args[]) { junit.textui.TestRunner.run(DateUtilTest.class); } /** * 测试前的初始化 */ protected void setUp() { } /** * 清除测试环境 */ protected void tearDown(){ } /** * 测试用例1 */ public void testGetDateFormat() { } } |
4. 使用JUnit进行单元测试Java应用一例
4.1. 定义接口
按照JUnit的思想,“先有测试代码,后有实现代码”,在编写代码之前,首先应该确定接口。本样例的接口定义如下:
/** * <p>Title: 时间和日期的工具类</p> * <p>Description: DateUtil类包含了标准的时间和日期格式,以及这些格式在字符串及日期之间转 换的方法</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author kzx * @version 1.0 */ import java.text.*; import java.util.*; public abstract class DateUtil { /** * 标准日期格式 */ private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("MM/dd/yyyy"); /** * 标准时间格式 */ private static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("MM/dd/yyyy HH:mm"); /** * 带时分秒的标准时间格式 */ private static final SimpleDateFormat DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss"); /** * ORA标准日期格式 */ private static final SimpleDateFormat ORA_DATE_FORMAT = new SimpleDateFormat("yyyyMMdd"); /** * ORA标准时间格式 */ private static final SimpleDateFormat ORA_DATE_TIME_FORMAT = new SimpleDateFormat("yyyyMMddHHmm"); /** * 带时分秒的ORA标准时间格式 */ private static final SimpleDateFormat ORA_DATE_TIME_EXTENDED_FORMAT = new SimpleDateFormat("yyyyMMddHHmmss"); /** * 创建一个标准日期格式的克隆 * * @return 标准日期格式的克隆 */ public static synchronized DateFormat getDateFormat() { /** * 详细设计: * 1.返回DATE_FORMAT */ return null; } /** * 创建一个标准时间格式的克隆 * * @return 标准时间格式的克隆 */ public static synchronized DateFormat getDateTimeFormat() { /** * 详细设计: * 1.返回DATE_TIME_FORMAT */ return null; } |