您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
Junit--Junit In Action 筆記
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/7/8 11:23:18 ] 推薦標(biāo)簽:

第一章: junit起步
1.2從頭開始
Junit的基本原則: 若程序的某項(xiàng)功能沒有經(jīng)過(guò)測(cè)試,那么該功能基本等于不存在。
1.3理解單元測(cè)試框架
所有測(cè)試都遵守的3條原則
1.每個(gè)單元測(cè)試都必須獨(dú)立于其他單元測(cè)試而運(yùn)行;
2.必須以單元測(cè)試為單位來(lái)檢測(cè)和報(bào)告錯(cuò)誤;
3.必須易于定義要進(jìn)行哪些單元測(cè)試;
1.4安裝junit
步驟:
1. 從junit.org下載新版本的junit ,在第二步中稱http://junit.zip
2. 將junit解壓到某個(gè)目錄
3. 略。。。
1.5用junit測(cè)試
Junit很多功能可以簡(jiǎn)化測(cè)試的編寫和運(yùn)行。在本書中很多地方都講述了這些功能在實(shí)踐中的運(yùn)用
1. 可供選擇的front-end或者test-runner,用來(lái)顯示你測(cè)試的結(jié)果;
2. 用單獨(dú)的ClassLoader來(lái)運(yùn)行每個(gè)單元測(cè)試,以避免發(fā)生副作用;
3. 標(biāo)準(zhǔn)的資源初始化和回收方法
4. 各種不通的assert方法,讓你檢查測(cè)試結(jié)果的操作變得更容易
5. 同流行工具比如ant和maven,和開發(fā)工具eclipse和jbuild的整合

1.6 小結(jié)
每個(gè)開發(fā)者都會(huì)執(zhí)行某種類型的測(cè)試,以確保新寫的代碼能正常工作。使用自動(dòng)單元測(cè)試的開發(fā)者能夠根據(jù)需要
重復(fù)執(zhí)行這些測(cè)試,以確保代碼在后面依然正常工作
手工編寫單元測(cè)試并非難事,但是當(dāng)測(cè)試變得更為復(fù)雜,編寫和維護(hù)測(cè)試變得比較困難了,junit是一個(gè)單元測(cè)試框架,
使得創(chuàng)建,運(yùn)行,維護(hù)單元測(cè)試變得簡(jiǎn)單。

 

第二章:探索junit
問題: 我們?cè)趺催\(yùn)行多個(gè)TestCase?我們用什么運(yùn)行這些測(cè)試?
在本章,我們將概覽junit的核心類:TestCase ,TestSuite 以及BaseTestRunner。然后我們將更細(xì)致的探索各種TestRunner
和TestSuite,之后回頭拜訪我們的老朋友TestCase,后我們將觀察這些核心類是如何工作的
2.1探索junit的核心
當(dāng)你需要一次執(zhí)行多個(gè)TestCase時(shí),你可以創(chuàng)建TestSuite
TestCase+testsuite +testrunner =testResult (Junit成員三重唱,共同產(chǎn)生測(cè)試結(jié)果)

testCase (測(cè)試用例):
         擴(kuò)展了junit的TestCase類的類,它以TestXXX方法的形式包含一個(gè)或多個(gè)測(cè)試。一個(gè)TestCase把具有公共行為的測(cè)試歸入一組,

testsuite (測(cè)試集合)
         一組測(cè)試,一個(gè)TestSuite把多個(gè)相關(guān)測(cè)試歸入一組的便捷方式。
TestRunner(測(cè)試運(yùn)行器)
         執(zhí)行TestSuite的程序,Junit提供了幾個(gè)TestRunner,你可以用它來(lái)執(zhí)行你的測(cè)試,沒有TestRunner接口,只有一個(gè)所有TestRunner
都繼承的BaseTestRunner,因此當(dāng)我們編寫TestRunner的時(shí)候,我們實(shí)際上是指任何繼承BaseTestRunner 的Test Runner的類。

7個(gè)Junit核心類和接口
Assert 當(dāng)條件成立時(shí),assert方法保持沉默,但若條件不成立,則拋出異常。
TestResult TestResult包含了測(cè)試中所有的錯(cuò)誤或者失敗
Test 可以運(yùn)行Test并把結(jié)果傳遞給TestResult
TestListener 測(cè)試中若產(chǎn)生事件(開始,結(jié)束,錯(cuò)誤,失敗)
TestCase 定義了可以運(yùn)行多項(xiàng)測(cè)試的環(huán)境
TestSuite 運(yùn)行一組TestCase它是Test的集合
TestRunner TestRunner用來(lái)啟動(dòng)測(cè)試的用戶界面,BaseTestRunner是所有TestRunner的超類


2.2 用Test Runner來(lái)運(yùn)行測(cè)試

2.2.1選擇TestRunner
Keep the bar green to keep the code clean
Junit 定義了3個(gè)TestRunner類,一個(gè)用于文本控制臺(tái),一個(gè)用于Swing,甚至還有一個(gè)AWT的

2.2.2定義你自己的TestRunner


2.3用TestSuite來(lái)組合測(cè)試
TestSuite被設(shè)計(jì)成可以運(yùn)行一個(gè)或多個(gè)TestCase,TestRunner負(fù)責(zé)啟動(dòng)TestSuite,而要運(yùn)行哪些TestCase由TestSuite決定

2.3.1 運(yùn)行自動(dòng)TestSuite

2.3.2編寫你自己的TestSuite
TestCase 和TestSuite 都實(shí)現(xiàn)了Test接口。
Junit 的設(shè)計(jì)目標(biāo):
用Junit創(chuàng)建的測(cè)試必須具有長(zhǎng)久的價(jià)值。若你持續(xù)的運(yùn)行測(cè)試,那么你把測(cè)試的投資小化,并把投資的回報(bào)大化了。
典型的TestAll類


1. 創(chuàng)建一個(gè)Suite方法,以便調(diào)用所有其他的Test或Suite.
2. 給這個(gè)TestSuite一個(gè)標(biāo)識(shí),以便區(qū)分.
3. 可以調(diào)用addTestSuite方法來(lái)增加想要一起運(yùn)行的TestCase對(duì)象或者TestSuite對(duì)象.
2.4 用TestResult來(lái)收集參數(shù).
     TestResult負(fù)責(zé)收集TestCase的執(zhí)行結(jié)果.TestResult儲(chǔ)存了所有的測(cè)試的詳細(xì)情況.是通過(guò)還是失敗.
TestRunner使用TestResult來(lái)報(bào)告測(cè)試結(jié)果.如果TestResult中沒有TestFailure對(duì)象,那么代碼是干凈的.

上一頁(yè)1234567下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd