為什么要測試?
找出程序的錯誤和缺陷,也是保證程序的質(zhì)量、安全性的完整性的重要手段...
這篇文章是為了講述如何在Xcode上使用XCTest進(jìn)行測試的。
<pre>
主要的IOS測試框架:
1.OCUnit,開源的測試框架,測試報告以文本的形式輸出到輸出窗口中,不支持真機測試;
2.GHUnit,開源的測試框架,測試報告以應(yīng)用的形式或以文本的形式輸出,支持真機和圖形界面測試。
3.XCTect(推薦),支持真機和圖形界面測試。
</pre>
下圖代碼的版本是Xcode8.2,圖中PersistenceLayerTests是測試目錄,在這個目錄中有兩個文件,其中測試代碼寫在.m 文件中(也是測試的程序入口),低版本Xcode的測試代碼也是寫在.m文件,這個和高版本一樣,唯一不同的是測試目錄中會有一個Supporting Files目錄,里面有一個叫main.m的文件,這個是測試的程序入口。

圖中的persistencelayer.m文件中,會有
<pre>
-(void)setUp 方法,初始化資源時要使用的方法;
-(void)tearDown 方法,釋放資源時的要使用的方法;
-(void)testExample 方法是測試方法,注意:所有測試方法的方法名稱都是以test開頭的;
</pre>
下面是常用的斷言宏(僅可參考,具體可以查看官方的文檔):
XCTAssertEqualObjects();//當(dāng)兩個對象不等或某個對象為nil時,斷言失敗
XCTAssertEquals();//當(dāng)參數(shù)1不等于參數(shù)2時,斷言失敗,可用于C中的基本數(shù)據(jù)的測試
XCTAssertNil();//當(dāng)參數(shù)不是Nil時,斷言失敗
XCTAssertNotNil();//當(dāng)參數(shù)是Nil時,斷言失敗
XCTAssertTrue();//當(dāng)表達(dá)式是false時,斷言失敗
XCTAssertFalse();//當(dāng)表達(dá)式是true時,斷言失敗
XCTAssertThrows();//當(dāng)表達(dá)式?jīng)]有拋出異常時,斷言失敗
XCTAssertNoThrows();//當(dāng)表達(dá)式拋出異常時,斷言失敗