• <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系統如何做測試

    發表于:2016-11-09來源:簡述作者:庸者的救贖點擊數: 標簽:
    公司發布了一個新APP的開發計劃.然后你開始收集功能點,分析具體需求,然后項目經理把需求文檔拿給你,美工同學把精美的原型圖發給你.接著,你使出洪荒之力,一目十行的把需求文檔過了

    如果你已經有過一些開發經驗,做過一些APP開發,那么你一定對下面的故事很熟悉

    公司發布了一個新APP的開發計劃.然后你開始收集功能點,分析具體需求,然后項目經理把需求文檔拿給你,美工同學把精美的原型圖發給你.接著,你使出洪荒之力,一目十行的把需求文檔過了一遍,此時你胸中已有丘壑;下面是時候表現真正技術了,coding...

    創建項目,然后開始對著功能點一步步實現功能,讓一個APP從原型圖變成一個真正的APP,這個過程中,你一定遇到過下面這樣的情況:

    你需要寫一個表單提交,而這個表單位于導航欄的很深的層次,你一層層的寫好以后,你覺得應該驗證一下自己的代碼,于是乎你開始瘋狂的穿梭于代碼和模擬器之間;第一次發現表單的第一行沒有做非法驗證,第二遍發現驗證的覆蓋面不夠,第三遍發現沒有做斷網測試

    第四遍…

    第五遍…

    第六…

    遍...

    ...

    每一遍你都從第一個界面開始手動點到你要到達的目的地,然后手動輸入你要測試的數據,發現不通過,回頭修改代碼,然后重復上面的步驟...

    如果你也曾經這么干過,請默默的點個贊...

    如果你現在還在這么干,請默默的在評論區,摳1...

    其實在iOS開發中,完全可以通過UI測試+單元測試,解決上面的問題,讓機器代替你一遍遍的Command + R

    創建單元測試和UI測試

    給新的項目創建測試模塊


    創建測試

    如果你的項目在創建之時,沒有勾上Include Tests選項,你還可以通過下面方式來為現有項目添加單元測試或UI測試


    給已有項目添加測試 Step 1

    給已有項目添加測試 Step 2

     

    當你創建好單元測試以后,在你的項目目錄里面會有一個以你的項目名為前綴,后面加一個Tests的文件夾,打開里面的一個默認文件,就可以看到系統為你生成的測試代碼.打開文件你能看到如下一段代碼:

    import XCTest
    @testable import UnitTest // 這里是導入工程模塊,使得整個工程中的代碼在該測試用例中都可以引用到
    
    class UnitTestTests: XCTestCase {
    
        override func setUp() {
            super.setUp()
            // 測試前要做的工作
        }
    
        override func tearDown() {
            super.tearDown()
            // 測試結束后要做的工作
        }
    
        func testExample() {
            // 測試代碼
        }
    
        func testPerformanceExample() {
            // This is an example of a performance test case.
            self.measure {
                // Put the code you want to measure the time of here.
            }
        }
    }

    上面這段代碼,有兩個方法要注意:

    原文轉自: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>