最近 Google 在帮助开发者提升 App
可用性上可谓是动作频频,不只发布了无障碍技术指导方案,成立无障碍支援团队,近日还在博客上宣布开源 iOS 专用的自动化测试框架
GTXiLib ,以帮助开发者打造无障碍 App 。

Giovanni
Lodi是来自澳大利亚的一名iOS开发者,最近他总结了iOS平台上单元测试、验收测试的工具,分析了它们的优缺点,以及支持iOS
App的持续集成平台。

GTXiLib 采用 Objective-C 编写,能与现存的 XCTest 测试框架整合,并在
XCTest 结束调用 tearDown 前,执行所有注册的可用性检查。当 GTXiLib
检测失败时,XCTest
的测试也会失败,两者相辅相成,能够更好地修补和发现问题。

苹果官方工具

GTXiLib 可用于:

XCTest是苹果在iOS
7和Xcode5引入的一个简单而强大的测试框架,它的测试编写起来非常简单,并且遵循xUnit风格。XCTest的优点是与Xcode深度集成,有专门的Test导航栏,但因为受限于官方测试API,因此功能不是很丰富。

  • 重用测试: GTXiLib
    集成整合到现有的功能测试流程中,能大幅提升现有测试价值。

  • 增量可访问性测试: GTXiLib
    可安装在单一测试用例、测试类或测试的特定子集上,以允许灵活地增加可访问性测试。

  • 澳门新葡亰游戏网址,编写属于自己的检查: GTXiLib 有一个简单的 API
    来根据你的应用的特定需求创建自定义检查。比如,可以检测应用中的每一个按钮是否都具备
    accessibilityHint 属性。

UIAutomation是苹果提供的UI自动化测试框架。测试使用Javascript编写,但是使用起来有些乏味。

Google 还表示,为了改进 GTXiLib ,该框架会收集一些使用数据上传至 Google
Analytics ,像是测试应用通过或失败的状态,以及应用绑定 ID的 MD5
哈希值,这些信息会让 Google 知道 GTXiLib
的使用情况。若是用户不愿意,则可以选择添加代码片段来停用 Google
Analytics 。

苹果对持续集成的支持,则体现在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。

网站地图xml地图