• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 作為iOS開發者,測試是你的必修課:讓我教教你iOS系統如何做測試(2)

    發表于:2016-11-09來源:簡述作者:庸者的救贖點擊數: 標簽:
    setUP() - 在測試代碼運行前調用 tearDown() - 在測試代碼運行結束后調用 而且,在測試代碼中, 測試方法 一定要使用test開頭來命名方法名,不然無法單獨運行該

    • setUP() -> 在測試代碼運行前調用
    • tearDown() -> 在測試代碼運行結束后調用

    而且,在測試代碼中,測試方法一定要使用test開頭來命名方法名,不然無法單獨運行該測試方法,后面會講如何單獨運行測試方法

    如何測試?

    UI Tests

    UI Tests就是拿來做UI測試的(呃...這么解釋似乎有點兒2)

    而且使用方法相對比較簡單,方法如下圖:


    執行UI Test

    在點擊開始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所有的測試方法,你可以通過點擊跟測試方法名同行位于右側的小按鈕來運行那一條測試:


    執行單條測試

    已經通過的測試,按鈕會編程一個綠色的對號,表示已經通過測試

    還未運行的是一個灰色的菱形

    Unit Tests

    在開發中,UI Test只能去測試界面跳轉以及輸入反饋等一些界面性的測試.然而,事實上我們還需要去測試,諸如方法已經網絡交互等.

    這個時候我可以腦補,很多同學的各種NSLog()Print()代碼,其實不需要這么麻煩,我們可以通過Unit Test代碼來完成這些工作;

    Case:

    我們在上面的界面里面輸入帳號和密碼,然后去驗證帳號和密碼的合法性等工作完成后,通常就會向服務器發起登錄請求,不管登錄成功與否,服務那邊都會返回一些數據;比如成功后返回一個Success,失敗返回一個Failure

    func 
    
    
    
               

    原文轉自:http://www.jianshu.com/p/2143182b9948

    ...
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>