你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS測試與集成工具總結

iOS測試與集成工具總結

編輯:關於IOS
[收起] 文章目錄
  • 蘋果官方工具
  • 單元測試的開源庫
  • 驗收測試的開源庫
  • 持續集成平台

iOS測試與集成工具總結

 

Giovanni Lodi是來自澳大利亞的一名iOS開發者,最近他總結了iOS平台上單元測試、驗收測試的工具,分析了它們的優缺點,以及支持iOS App的持續集成平台。

蘋果官方工具

XCTest是蘋果在iOS 7和Xcode5引入的一個簡單而強大的測試框架,它的測試編寫起來非常簡單,並且遵循xUnit風格。XCTest的優點是與Xcode深度集成,有專門的Test導航欄,但因為受限於官方測試API,因此功能不是很豐富。

UIAutomation是蘋果提供的UI自動化測試框架。測試使用Javascript編寫,但是使用起來有些乏味。

蘋果對持續集成的支持,則體現在Xcode Bots上。我們能配置Xcode Bots來設置觸發器,來替我們運行測試或自動將代碼上傳到服務器上。

單元測試的開源庫

在開源社區裡,大家對新事物接受得很快,一些好的東西也經常病毒性的擴散。iOS開源社區也是這樣,比如,它的測試編寫趨勢是使用xSpec風格,這是從Ruby測試庫RSpec借鑒而來的。

Kiwi是對XCTest的一個完整替代,使用xSpec風格編寫測試。Kiwi帶有自己的一套工具集,包括expectations、mocks、stubs,甚至還支持異步測試。

Specta與Kiwi功能相似,但在架構上非常不同。Kiwi注重功能的整合,而Specta則注重模塊化。它本身只專注於運行測試,而將模擬、匹配等功能交給第三方。下面這些一些開源測試組件,它們能與Specta和Kiwi框架搭配使用:

  • Expecta:匹配程序框架。
  • OCHamcrest:匹配程序框架。
  • OCMock:模擬測試框架。
  • OCMockito:模擬測試框架。
  • OHTTPStubs:模擬網絡請求的庫,基於block的語法來匹配URL。
  • Nocilla:模擬網絡請求的庫,使用鏈式API。

Quick是一個使用Swift開發的新測試框架,對測試使用Swift編寫的App非常友好。它還有一個Nimble庫用於編寫匹配模式。

驗收測試的開源庫

KIF(Keep It Functional)是用Objective-C編寫的用戶界面測試框架。KIF tester使用了私有API來了解App中的視圖層級。缺點是運行較慢。

Subliminal是另一款與XCTest集成的框架。與KIF不同的是,它基於UIAutomation編寫,旨在對開發者隱藏UIAutomation中一些復雜的細節。不過它最後更新日期是2014年2月,可能已停止更新。

Calabash是跨平台開發工具Xamarin推出的一款測試工具。它使用BDD風格來編寫驗收測試。它的優點是支持跨平台(需使用不同的庫),聲明式的測試風格非常易於讀寫。缺點是不夠穩定並且運行速度慢。

持續集成平台

這裡列出的持續集成工具都是基於雲平台的,因為自己搭建類似Jenkins這樣的持續集成環境代價高昂。

下面的列表是目前支持iOS的主流CI平台。

  • Travis CI
  • Ship.io
  • Sauce Labs
  • Bitrise
  • Testdroid

它們間的不同在於價格、配置工作,以及上手難易程度。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved