之前一篇文章中說過iOS中的UITest界面測試,這一片文章主要來說一下iOS中的單元測試,首先要知道單元測試主要是用于邏輯代碼的測試,不適合做UIViewController的測試。是一種通過代碼監(jiān)測代碼的開發(fā)手段,常用語敏捷開發(fā)和測試驅(qū)動開發(fā)。關(guān)于測試覆蓋率,測試覆蓋率要達到多少,通常公司代碼測試覆蓋率從50%-70%不等。這篇文章就先來看一下單元測試的簡單入門和使用,之后會更新文章,介紹更多和單元測試相關(guān)的東西以及單元測試中的一些注意事項。
1、要想使用單元測試,首先創(chuàng)建工程的時候要選中Include Unit Tests。

2、這里創(chuàng)建一個簡單的繼承于NSObject的ZWTools類,然后在這個類中寫一個+ (NSInteger)addWithNum1:(NSInteger)a num2:(NSInteger)b;方法,主要用于計算兩個數(shù)的和。然后以這個類來做單元測試。
+ (NSInteger)addWithNum1:(NSInteger)a num2:(NSInteger)b{
return a + b;
}
3、cmd + n ,選中 Unit Test Case Class,并且命名為ZWToolsTest。建議一般最好這樣命名,在原本要測試的類后面加載Test。此時會看到系統(tǒng)自動生成四個方法。
4、在ZWToolsTest.m文件中導(dǎo)入要測試類的頭文件#import "ZWTools.h"。
5、編寫測試代碼,并點擊對應(yīng)的菱形,運行測試代碼。其中XCTAssert是斷言的意思,如果[ZWTools addWithNum1:3 num2:4] == 7這個邏輯成立,運行的時候,左邊的菱形按鈕會出現(xiàn)綠色。如果運行不正常會出現(xiàn)紅色,并在斷言處報錯。
- (void)testAdd{
XCTAssert([ZWTools addWithNum1:3 num2:4] == 7,@"測試代碼出現(xiàn)錯誤");
}

其他說明:
關(guān)于菱形的說明,點擊@implementation左邊對應(yīng)的菱形,會運行以下所有帶菱形的測試代碼。而點擊非@implementation左邊對應(yīng)的菱形按鈕,只會運行其中一個測試代碼,如點擊testAdd左邊對應(yīng)的菱形,只會測試testAdd這個方法內(nèi)部的邏輯代碼,其他測試代碼不會受到影響。