iOS测试与集成工具总结

作者: 木易林1 | 来源:发表于2017-02-08 10:43 被阅读101次

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带有自己的一套工具集,包括expectationsmocksstubs,甚至还支持异步测试

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

它们间的不同在于价格、配置工作,以及上手难易程度。

相关文章

  • iOS测试与集成工具总结

    Giovanni Lodi是来自澳大利亚的一名iOS开发者,最近他总结了iOS平台上单元测试、验收测试的工具,分析...

  • IOS集成个推总结

    IOS集成个推总结 标签(空格分隔): IOS IOS集成个推总结 集成注意点 1 去个推后台申请app的应用 如...

  • appium的安装与环境配置

    appium是一款集成了Android,ios移动设备的自动化测试工具,支持测试移动应用,移动web应用,混合应用...

  • [稀土掘金日报] 提高 iOS 开发效率的必备干货

    本期稀土君为大家甄选了关于 iOS 开发效率工具和 iOS 开发的持续集成工具。还有 iOS 图像渲染过程与保持界...

  • Github_web_3

    九十六:你会用什么工具测试你的代码功能?测试工具Jasmine等等 九十七:单元测试与功能/集成测试的区别是什么?...

  • 持续集成--学习地址

    持续集成是什么? 构建iOS持续集成平台(一)——自动化构建和依赖管理 构建iOS持续集成平台(二)——测试框架 ...

  • 接口测试教程 - Postman(十二)Newman 使用

    现在只要谈到自动化测试,必然谈到持续集成(CI)。目前最流行的持续集成工具就是Jenkins,为了与Jenkins...

  • 文章汇总

    ios iOS 网络篇 网络基础总结 支付宝集成 iOS支付宝支付集成 - demo例子集 - 博客园 理解 iO...

  • iOS单元测试

    参考博客:iOS单元测试概念了解iOS异步测试Xcode:为你的项目集成单元测试(unit tests)时记得避开...

  • Postman命令执行

    我们一般都是用postman图形界面工具里面进行测试,但有时候我们需要把测试脚本集成到集成工具平台(如jenkin...

网友评论

    本文标题:iOS测试与集成工具总结

    本文链接:https://www.haomeiwen.com/subject/qjevittx.html