Xcode 7 中的 UI 测试功能
回到 Xcode 4,测试 iOS 应用的唯一方式就是 OCUnit,其遗留了许多有待改进之处。Pivots 利用了它们在 行为驱动开发(behavior-driven development)框架中的专业观点着手创建它们自己的测试套件 - Cedar 诞生了.
Cedar 是一个优秀的框架,用于创建 BDD 风格的测试,完全支持匹配器和伪装。而 Xcode 7 还没有完全的支持,Pivotal 在一个分支上跟进他们的工作,预计很快就会有东西要发布了。自从尝到 TDD 的甜头之后, 我使用 Cedar 测试过我所工作过的每一个 iOS 应用。我甚至开始把它用在功能测试控制器上,但那是下次的主题了。
单独使用 Cedar 不能给与我在使用 Ruby on Rails 时所日渐赞赏的端到端覆盖。我不能可靠地在几个屏幕之间进行触摸操作,让应用运作起来。可以理解的是,Cedar 并不用为那个而被创建出来的。为了填补这个空缺,许多玩家都已经创建了他们自己的第三方功能测试框架。
Frank, KIF, Subliminal, Apple 的 UIAutomation,我把他们都试了一遍。你要是希望了解更多可以访问我的故障特征测试框架。它不是开发者的失败,而是因为 Apple 对待测试只有有限的开放性。这使得这些框架有一系列的补丁,而在这些补丁之上,这些框架不外乎都成为了一堆破碎的工具。
没有涉及到的更多细节:
Frank 一直被遗弃。
KIF 已经与主要的 iOS 修订版本决裂。
Subliminal 不能在命令行中可靠地运行。
UIAutomation 是用 JavaScript 和 clunky 写的。
我在 Pivotal 工作的时候,有六个分离的 app,我尝试对每个不同应用使用不同的框架。我甚至对 KIF 和 Frank 捐助,因为我希望这些框架成功。不幸地是,它们不可能离开 Apple 的支持。
文章转载自 开源中国社区 [http://www.oschina.net]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Gmail 即将落实阻止 JavaScript 的安全策略
据外媒报道,Gmail 将很快部署阻止 JavaScript 电邮附件运行的措施。从 2月13日起,用户将无法再添加 .js 类型的附件,因其被很多形式的恶意攻击所利用。如果用户不小心下载了一个恶意 JavaScript 文件,攻击者可以利用它来获得 PC 的访问权限,窃取数据或执行其它破坏性操作。 Android Police 指出,JavaScript 已成为继 .exe .bat .msc 之后,被 Gmail 严格限制分享的又一个附件类型。 虽然此举无法彻底杜绝被嵌入 .zip 等压缩包中的恶意文件,但斩断直接发送的途径,对大多数普通用户来说确实是件有助于提升 Gmail 邮件服务安全性的好事。 如果你有特殊的需求,也可以考虑通过谷歌网盘或云存储等方式,发送和分享一个 JavaScript 文件。 试图发送此类附件的 Gmail 用户,将会看到一则“禁止上传”的警告提示(收件人那边暂不清楚)。 文章转载自 开源中国社区 [http://www.oschina.net]
- 下一篇
想成为自由职业者?Swift 编程是必备技能之一
知名自由职业网站 Upwork 发布了雇主最需要的技能排名表,苹果的 Swift 编程语言排名第二,这意味着如果你想在网上寻找一份自由职业,那么 Swift 是必备技能之一。 Swift 同比增长超过200%,与其他技术成为自由职业的必备技能之一。除了 Swift,其他技能还包括自然语言处理器,可视化数据分析软件 Tableau,Marketplace Web Services 和 Stripe。 苹果编程语言 Swift 在 2014 年发布,由苹果员工 Chris Lattner 主导开发。可惜的是,Lattner 已经离开苹果,加入特斯拉。Swift 将取代 Objective-C,并已经快速成为开发者最喜欢的编程语言。 苹果不断的改进和增强 Swift 编程语言,并计划在 2017 年春天发布 Swift 3.1。 文章转载自 开源中国社区 [http://www.oschina.net]
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果