setUP()
-> 在測試代碼運行前調用tearDown()
-> 在測試代碼運行結束后調用而且,在測試代碼中,測試方法一定要使用test開頭來命名方法名,不然無法單獨運行該測試方法,后面會講如何單獨運行測試方法
UI Tests
就是拿來做UI測試
的(呃...這么解釋似乎有點兒2)
而且使用方法相對比較簡單,方法如下圖:
在點擊開始Record UI Test
按鈕以后,Xcode
會運行模擬器來啟動你的APP
,接下來你在APP所有的操作都會被記錄下來,同時Xcode
會在UI Tests
相對應的Test Case
文件里面生成對應的代碼,所有的操作完成以后,再次點擊Record UI Test
按鈕(其實這時候已經變成Stop
狀態)來完成記錄
Case:
假如你有這樣一個登錄界面
當你的所有代碼寫完以后,你想測試一下你的帳號驗證做的是否全面,比如檢測漢字,驗證手機號的合法性,以及檢測出錯誤以后,提示信息是否正確顯示等等...
那么這個時候你就可以使用UI Tests
來做這個事情,而且效率很高當你記錄完以后,你的Test Case
里面會生成一段代碼:
let elementsQuery = XCUIApplication().otherElements.containing(.staticText, identifier:"帳號")
let textField = elementsQuery.children(matching: .textField).matching(identifier: "輸入數字").element(boundBy: 0)
textField.tap()
textField.typeText("1xxxxx")
let textField2 = elementsQuery.children(matching: .textField).matching(identifier: "輸入數字").element(boundBy: 1)
textField2.typeText("xx")
textField2.tap()
textField2.tap()
textField2.typeText("123456")
上面這段代碼中的typeText
參數你是可以手動修改的,改完以后直接Command + U
可以直接運行測試,然后Xcode
會自動測試你修改過的內容;這些代碼完全可以自己手寫進去,然后直接執行UI
測試,如果你開始的時候不熟悉相關的代碼,你可以先讓系統生成,然后去修改,慢慢的你就會成為老司機的,發車那是小Case
有時候你可能只想運行某條單個測試,而不是Command + U
運行當前Test Case
所有的測試方法,你可以通過點擊跟測試方法名同行位于右側的小按鈕來運行那一條測試:
已經通過的測試,按鈕會編程一個綠色的對號,表示已經通過測試
還未運行的是一個灰色的菱形
在開發中,UI Test
只能去測試界面跳轉以及輸入反饋等一些界面性的測試.然而,事實上我們還需要去測試,諸如方法已經網絡交互等.
這個時候我可以腦補,很多同學的各種NSLog()
和Print()
代碼,其實不需要這么麻煩,我們可以通過Unit Test
代碼來完成這些工作;
Case:
我們在上面的界面里面輸入帳號和密碼,然后去驗證帳號和密碼的合法性等工作完成后,通常就會向服務器發起登錄請求,不管登錄成功與否,服務那邊都會返回一些數據;比如成功后返回一個Success
,失敗返回一個Failure
func
原文轉自:http://www.jianshu.com/p/2143182b9948