單元測試基礎 當今軟件測試十分盛行時,本人通過項目實踐和個人親身體會淺談單元測試,本人一直堅持“用代碼說話的原則”,同時也希望個人能給出寶貴意見,共同探討、共同進步,為中國軟件事業有更大的發展共同奮斗!最早我們項目組開發的項目時,寫代碼都是從底層一直寫到表現層到jsp,然后開發人員在web層調試頁面,近乎98%都會報一大堆exception,然后再在代碼中加斷點一步一步查到底哪一層代碼出現問題……,比較好點做法就是在各個類中加上main方法測試,但總體很不理想,給web層開發人員的調試和質量控制人員帶來繁重的工作壓力;使用單元測試后,針對每一個方法都做嚴格的把關,大大減少調試的時間;同時質量控制人員返回過來的bug少了近60%,現在對于開發人員寫測試用例非常熟練,并且本人根據實際情況對測試用例做了點小小改動(這部分主要在后面代碼中詳述),帶來很好的效果! 單元測試到底給實際開發帶來什么好處那?(1) (1)首先對于開發人員來說大大減少調試工作的時間,同時也規范了對于代碼安全管理(我們知道那些方法是可以調用的);(2) (2)對于整個項目來說,有了完整的測試,保證項目最后交付測試有了可靠依據;(3) (3)對于測試人員大大減少bug的反饋;(4) (4)對于項目經理整個項目達到很好的可控;(5) (5)最主要的完整的單元測試給后期維護人員帶來很大的便捷!單元測試好處可能還有很多,但本人只能理解和感悟這么多,希望觀者補充! 單元測試配置: 我將使用eclipse+myEclopse給大家介紹關于JUNIT的環境的簡單配置;右鍵點擊項目選擇“屬性”,在彈出窗口中到環境變量中添加junit.jar包,這樣下一步我們就可以進行單元測試了; 使用eclipse快速開發test Case:如下圖:右鍵選擇你要測試的類,在新建中點擊“JUnit測試用例”, 彈出對話框,配置測試名稱和根目錄,添加注釋等,再點擊“下一步”到下圖: 選擇你要測試類中的方法,點擊完成!便生成測試類的基本框架,如下代碼,我們以對一個DAO類測試為例: /**//*
* Copyright reserved 2005 by XXXXCo. Ltd.
* Author:Fu wei Date:2006-9-4
*/
import junit.framework.TestCase;
/** *//**
* @author Fu wei
*/
public class OrgTypeDAOTest extends TestCase ...{
/** *//**
* @param arg0
*/
public OrgTypeDAOTest(String arg0) ...{
super(arg0);
}
/**//*
* @see junit.framework.TestCase#setUp()
*/
protected void setUp() throws Exception ...{
super.setUp();
}
/**//*
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception ...{
super.tearDown();
}
/** *//**
* 主函數
* @param args
*/
public static void main(String[] args)...{
TestRunner.run(OrgTypeDAOTest .class);
}
/** *//**
* {@link OrgTypeDAO#getOrgTypeList()} 的測試方法。
*/
public final void testGetOrgTypeList() ...{
fail("尚未實現"); // TODO
}
原文轉自:http://www.anti-gravitydesign.com