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

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

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

 

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

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

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

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


2.2 用Test Runner來運行測試

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

2.2.2定義你自己的TestRunner


2.3用TestSuite來組合測試
TestSuite被設(shè)計成可以運行一個或多個TestCase,TestRunner負責啟動TestSuite,而要運行哪些TestCase由TestSuite決定

2.3.1 運行自動TestSuite

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


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

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