Testing in iOS

翻譯自[rayWenderlich視頻](https://videos.raywenderlich.com/courses/testing-in-ios/lessons/1)

### Good Code --> Good Tests

**在寫測試之前最基本的就是準備好可測試的代碼,也就意味著要盡可能的避免類和方法有很多相互緊密聯(lián)系的代碼,如果業(yè)務邏輯是和model(和Views分離)分離的,那么你的app每一部分都可以獨立測試**

* 測試需要可測試的代碼

* 獨立責任

* 避免緊密連接的代碼

### Why Test?

* 驗證正確性

* 阻止回歸

* 添加失敗測試

* 修復問題

* 驗證測試通過

* 代碼文件化

1.如果你遵循測試驅(qū)動開發(fā),那么你將優(yōu)先編寫測試用例,然后才是程序代碼,否則如果你有一個完成的app但是沒有測試,先添加你的第一個測試Target(一個單一的測試是一個很好的開始)。

2.另一方面,測試意味著驗證代碼的正確性。如果你在一個地方設置了一個標志,就應該在相應的地方實現(xiàn)方法,然后你就可以使用測試來驗證這種假設。

3.你也可以使用測試來阻止惡化。如果你在你的app里面發(fā)現(xiàn)了一個bug,你應該首先寫一個測試方法來暴露bug,然后修改問題,這樣你可以保證同樣的問題不會再出現(xiàn),因為你已經(jīng)在你的測試用例里面測試觀察了。

4.測試也能促成好的文檔。編寫文檔以及評論可以清楚地查找到對應的日期,但是由于測試都是你可能需要跑的代碼,也方便證明如何來使用你定義的API,也可以通過它們來解釋你的app邏輯工作。

### Unit Testing

* 測試Target

* 跑測試

* 斷言

* 測試異步任務

* 演示測試

### User Interface Testing

* 全自動操作(手勢,點擊,滑動等待)

* 檢查UI 狀態(tài)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是Function Testing(摘自wikipedia) Functional testing is a ...
    一個大番茄閱讀 1,106評論 1 3
  • Hit-testing翻譯為中文是"命中測試",是確定touch-point是否在一個View內(nèi)的過程,最終命中的...
    iOneWay閱讀 1,365評論 1 8
  • test可以訪問你App的public部分,但是不可以訪問private部分,所以有些東西還是隱藏在你的tests...
    V_coa閱讀 401評論 0 0
  • 性能測試,主要是測試block的耗時 Code Coverage是Xcode7的一個新功能,就是讓你知道,測試的覆...
    V_coa閱讀 243評論 0 0
  • 代碼一般按順序執(zhí)行,但是對于Asynchronous call的情況,可能會導致測試代碼執(zhí)行玩,還沒有callba...
    V_coa閱讀 245評論 0 0

友情鏈接更多精彩內(nèi)容