新增測試方法
根據 Apple 的說法:
測試方法
測試方法是測試類的例項方法,以字首 test 開頭,不帶引數,並返回 void,例如(void)
testColorIsRed()
。測試方法在專案中執行程式碼,如果該程式碼未產生預期結果,則使用一組斷言 API 報告失敗。例如,函式的返回值可能會與期望值進行比較,或者你的測試可能斷言在某個類中不正確地使用方法會引發異常。
所以我們使用 test
作為方法的字首新增一個測試方法,如:
迅速
func testSomething() {
}
Objective-C
- (void)testSomething {
}
為了實際測試結果,我們使用 XCTAssert()
方法,它採用布林表示式,如果為 true,則將測試標記為成功,否則將標記為失敗。
假設我們在 View Controller 類中有一個名為 sum()
的方法,它計算兩個數字的總和。為了測試它,我們使用這種方法:
迅速
func testSum(){
let result = viewController.sum(4, and: 5)
XCTAssertEqual(result, 9)
}
Objective-C
- (void)testSum {
int result = [viewController sum:4 and:5];
XCTAssertEqual(result, 9);
}
注意
預設情況下,如果首先在 Storyboard 檔案中建立 View Controller 類的標籤,文字框或其他 UI 項,則無法從測試類訪問它們。這是因為它們是在 View Controller 類的
loadView()
方法中初始化的,並且在測試時不會呼叫它。呼叫loadView()
和所有其他必需方法的最佳方法是訪問viewController
屬性的view
屬性。你應該在測試 UI 元素之前新增此行:
XCTAssertNotNil(viewController.view)