天天看點

淺談iOS單元測試

單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。對于單元測試中單元的含義,一般來說,要根據實際情況去判定其具體含義,如C語言中單元指一個函數,Java裡單元指一個類,圖形化的軟體中可以指一個視窗或一個菜單等。總的來說,單元就是人為規定的最小的被測功能子產品。

大型項目開發,功能比較繁瑣,代碼量比較大,調試某一塊功能需要不斷的Command+R運作調試,很顯然這樣的功能是非常非常的低效的,編寫過程中以及App功能完成後為檢測某一塊功能,利用單元測試更有針對性的測試功能。兩個字——高效!

1.新工程預設會勾選

淺談iOS單元測試

2.為老工程添加單元測試

點選<code>File</code>—–&gt;<code>New</code>——-&gt;<code>Target</code>

淺談iOS單元測試
淺談iOS單元測試

UnitTestsDemoTests類是繼承與 XCTestCase的

Xcode7預設帶了測試性能的方法<code>- (void)testPerformanceExample</code>很有意思的一個方法

重複執行上面的代碼,會收集每次執行的時間,并計算出平均值,每次執行後會跟平均值進行比較,給你參考性的提示。

淺談iOS單元測試
淺談iOS單元測試

當我們把i的值後面增添一個<code>0</code>有意思一幕發生

淺談iOS單元測試

XCode檢測到這一次運作,遠超過了平均值,給出了紅色的警告,是不是感覺XCode太強大了?

淺談iOS單元測試

警告不通過符号,說明這個子產品出現問題

淺談iOS單元測試

通過符号,表示這個子產品沒有問題

自定義測試方法必須以test方法名開頭(testXXX),例如上面的<code>testExample</code>

自定義方法必須為<code>void</code>傳回類型

<code>-(void)testFloatEqual{}</code>

先在XCode建立一個類名為PersonModel ,添加一個屬性名為name

在測試單元建立一個類

淺談iOS單元測試

點選右鍵,<code>New Test Class</code>

淺談iOS單元測試

注意此類繼承與XCTestCase

在頭檔案中引入<code>#import "PersonModel.h"</code>

自定義一個測試方法

淺談iOS單元測試

真開心,利用單元測試檢測,都正常,開開心心下班去。O(∩_∩)O