(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; } |
/** * 创建一个标准ORA日期格式的克隆 * * @return 标准ORA日期格式的克隆 */ public static synchronized DateFormat getOraDateFormat() { /** * 详细设计: * 1.返回ORA_DATE_FORMAT */ return null; } /** * 创建一个标准ORA时间格式的克隆 * * @return 标准ORA时间格式的克隆 */ public static synchronized DateFormat getOraDateTimeFormat() { /** * 详细设计: * 1.返回ORA_DATE_TIME_FORMAT */ return null; } /** * 将一个日期对象转换成为指定日期、时间格式的字符串。 * 如果日期对象为空,返回一个空字符串,而不是一个空对象。 * * @param theDate 要转换的日期对象 * @param theDateFormat 返回的日期字符串的格式 * @return 转换结果 */ public static synchronized String toString(Date theDate, DateFormat theDateFormat) { /** * 详细设计: * 1.theDate为空,则返回"" * 2.否则使用theDateFormat格式化 */ return null; } /** * 将日期对象转换成为指定日期、时间格式的字符串形式。如果日期对象为空,返回 * 一个空字符串对象,而不是一个空对象。 * * @param theDate 将要转换为字符串的日期对象。 * @param hasTime 如果返回的字符串带时间则为true * @return 转换的结果 */ public static synchronized String toString(Date theDate, boolean hasTime) { /** * 详细设计: * 1.如果有时间,则设置格式为getDateTimeFormat的返回值 * 2.否则设置格式为getDateFormat的返回值 * 3.调用toString(Date theDate, DateFormat theDateFormat) */ return null; } |
/** * 将日期对象转换成为指定ORA日期、时间格式的字符串形式。 如果日期对象为空,返回 * 一个空字符串对象,而不是一个空对象。 * * @param theDate 将要转换为字符串的日期对象。 * @param hasTime 如果返回的字符串带时间则为true * @return 转换的结果 */ public static synchronized String toOraString(Date theDate, boolean hasTime) { /** * 详细设计: * 1.如果有时间,则设置格式为getOraDateTimeFormat()的返回值 * 2.否则设置格式为getOraDateFormat()的返回值 * 3.调用toString(Date theDate, DateFormat theDateFormat) */ return null; } /** * 取得指定日期的所处月份的第一天 * * @param date 指定日期。 * @return 指定日期的所处月份的第一天 */ public static java.util.Date getFirstDayOfMonth(java.util.Date date) { /** * 详细设计: * 1.设置为1号 */ return null; } /** * 取得指定日期的所处月份的最后一天 * * @param date 指定日期。 * @return 指定日期的所处月份的最后一天 */ public static synchronized java.util.Date getLastDayOfMonth(java.util.Date date) { /** * 详细设计: * 1.如果date在1月,则为31日 * 2.如果date在2月,则为28日 * 3.如果date在3月,则为31日 * 4.如果date在4月,则为30日 * 5.如果date在5月,则为31日 * 6.如果date在6月,则为30日 * 7.如果date在7月,则为31日 * 8.如果date在8月,则为31日 * 9.如果date在9月,则为30日 * 10.如果date在10月,则为31日 * 11.如果date在11月,则为30日 * 12.如果date在12月,则为31日 * 1.如果date在闰年的2月,则为29日 */ return null; } /** * 取得指定日期的所处星期的第一天 * * @param date 指定日期。 * @return 指定日期的所处星期的第一天 */ public static synchronized java.util.Date getFirstDayOfWeek(java.util.Date date) { /** * 详细设计: * 1.如果date是星期日,则减0天 * 2.如果date是星期一, 则减1天 * 3.如果date是星期二,则减2天 * 4.如果date是星期三, 则减3天 * 5.如果date是星期四,则减4天 * 6.如果date是星期五, 则减5天 * 7.如果date是星期六,则减6天 */ return null; } |
原文转自:http://www.uml.org.cn/Test/201405272.asp