單元測試與JUNIT(4)

發表于:2015-10-30來源:uml.org.cn作者:火龍果軟件點擊數: 標簽:單元測試
(7)編寫每個測試用例,一般是要測試的方法前附加test。 完整的代碼框架如下所示: import junit.framework.*; public class DateUtilTest extends TestCase { /** * 構造函數

  (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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97