Package framework
Class & Interface Hierachy
Interface Test
主要方法
countTestCases:統(tǒng)計(jì)TestCases 數(shù)目
run:運(yùn)行測(cè)試并將結(jié)果返回到指定的TestResult 中
Class Assert
首先,Assert 提供的public 方法都可以帶或不帶自己定義的提示,其次Assert
中的Assert 方法是protected 的,這意外著Assert 是一個(gè)靜態(tài)類,它提供的方法都是Static 的。
public 方法:
assert:保留(deprecated)方法,判斷一個(gè)條件是否為真
assertTrue:assert 的替代方法,判斷一個(gè)條件是否為真
assertEquals:用于判斷實(shí)際值和期望值是否相同(Equals),可以是各種JAVA
對(duì)象。
assertNotNull:判斷一個(gè)對(duì)象是否不為空
assertNull:判斷一個(gè)對(duì)象是否為空
assertSame:判斷實(shí)際值和期望值是否為同一個(gè)對(duì)象( ==),注意和assertEquals
區(qū)分
fail:直接返回失敗,拋出AssertionFailedError
private 方法:
failNotEquals:主要用于assertEquals 方法,調(diào)用fail 返回失敗提示
failNotSame:主要用于assertSame 方法,調(diào)用fail 返回失敗提示
Class AssertionFailedError
AssertionFailedError 是從Jdk 提供Error 類簡(jiǎn)單繼承而來(lái),主要方法如下:
public AssertionFailedError (String message) {
super (message);
}
Class Assert 中比較失敗都是拋出AssertionFailedError。
Interface Protectable
這個(gè)接口是使用了一種比較少見(jiàn)的用法。
在Interface 本身只定義了一個(gè)方法
public abstract void protect() throws Throwable;注意方法throws 的是所有Error 和Exception 的祖先。通過(guò)這種定義可以保證運(yùn)行的時(shí)候如果出現(xiàn)任何Error 和Exception,都將被拋出而不會(huì)導(dǎo)致程序不能繼續(xù)運(yùn)行。
Portectable 的接口沒(méi)有被framework 包中的任何類實(shí)現(xiàn),它的使用在類
TestResult 中的run 方法中。以下是run 方法中代碼:
protected void run(final TestCase test) {
startTest(test);
Protectable p= new Protectable() {
public void protect() throws Throwable {
test.runBare();
}
};
runProtected(test, p);
endTest(test);
}
這里實(shí)際是聲明了一個(gè)Anonymous Classes,實(shí)現(xiàn)了Interface Portectable
Interface TestListener
TestListener 的用途和它名稱一樣,用于監(jiān)聽(tīng)。主要用于運(yùn)行時(shí)刻監(jiān)聽(tīng),BaseRunner(所有運(yùn)行類,如TestRunner)實(shí)現(xiàn)了這一接口。由于運(yùn)行是通過(guò)TestResult 來(lái)實(shí)現(xiàn),只要調(diào)用 TestResult.addListener 可以增加監(jiān)聽(tīng),TestResult會(huì)調(diào)用接口中相應(yīng)的方法,具體見(jiàn)TestResult。
主要方法:
public
addError:增加錯(cuò)誤,注意這里錯(cuò)誤應(yīng)該指測(cè)試程序本身的錯(cuò)誤或者被測(cè)試程
序錯(cuò)誤,而不是測(cè)試失敗
addFailure:增加一個(gè)測(cè)試失敗,專用于AssertionFailedError 的處理
endTest:結(jié)束測(cè)試
startTest:開(kāi)始測(cè)試
Class TestCase
使用者主要使用的類,繼承Class Assert,實(shí)現(xiàn)Interface Test。主要方法