XCFit 7.0发布:XCTActivity,新的Xcode模板和多个CI服务支持
XCFit-7.0的新版本刚刚发布,具有一些新功能。 XCFit在版本6.0发行版中已经支持Xcode 9和Swift 4。 XCFit是Xcode for iOS应用程序中Xcode的面向全栈协议的BDD,使用Swift使用XCUITest。 XCFit允许我们使用诸如Give / When / Then格式的工具以人类可读的语言编写Swift的BDD样式API /合同级别,UI和验收测试。 在这篇简短的文章中,我们将看到XCFit-7.0的新功能。
此版本具有一些新功能,例如XCTActivity,新Xcode模板和持续集成服务支持。 我们将详细介绍以下新内容
- XCTActivity支持
- Xcode 9和XCTActivity支持的新Xcode模板
- 对XCFit的多个持续集成服务支持
UI测试通常是长时间运行的,并且在那里发生许多动作,例如,点击按钮,滑动等。到目前为止,XCTest报告显示了测试报告中的所有动作,这些动作不是特别可读。 活动是通过提供有意义的名称来将这些操作组织到组中的方法,因此XCTest结果将在结果中使用该活动名称以使其更具可读性。 您可以在此处阅读有关Apple官方文档的更多活动。
我们可以将活动分散到任何一组操作上,例如以干净状态启动应用程序
XCTContext.runActivity(名称:“鉴于我已经以干净状态启动了应用程序”) XCUIApplication()。launchArguments = [“ -StartFromCleanState”,“ YES”] XCUIApplication()。launch() }
当我们运行测试时,然后在测试报告中,我们将看到“鉴于我已经以干净状态启动了该应用程序”,因此更具可读性。 我们仍然可以通过扩展活动来访问基本操作。
XCTActivity现在支持XCFit预定义步骤。 现在,所有步骤都包装在XCTActivities中,以便可以读取Xcode报告。 您将在本文结尾的演示视频中看到这一点。
如果您使用过XCFit,那么您可能知道XCFit提供了Xcode模板,以开始使用Xcode中的面向协议的BDD。 可以使用Rubygem安装XCFit模板
$ gem install xcfit
如果您正在使用系统(预安装)Ruby(2.0),则可能需要使用sudo。 XCFit gem将用于为Xcode设置所有Xcode模板。 当前的Xcode模板具有Xcode组结构,如下所示
- Feature.swift
该文件具有您的功能,它将所有可以作为验收测试实现的需求(测试)。 该文件包含Swift协议。
- FeatureSteps.swift
该文件包含模板代码,该模板代码如何在功能协议之上使用Swift扩展实现给定功能的步骤定义。 它还提供了一些示例,这些示例在实现步骤定义时如何使用XCTActivity。
- FeatureElements.swift
该文件包含与功能有关的所有XCUIElement。 我们可以以Swift枚举的形式存储所有XCUIElement。
- UITestBase.swift
这是所有测试的基类。 导入XCFit之后,我们可以使用XCFit扩展此类以获取预定义的步骤。 此类包含所有设置和拆卸代码。
- YOUR_TARGET_Test.swift
这是实际的测试文件,您可以在其中从扩展中调用“何时给出”。 该类扩展了UITestBase类,该类具有开始所需的所有设置。
希望这个新模板可以方便地为任何iOS项目设置面向协议的BDD。
最近,我对基于云的CI服务排名前5位进行了在线奥运会,并根据XCFit进行了评估。 涉及的基于云的CI服务包括
- BuddyBuild
- 比特里斯
- TravisCI
- 永不编码
- CircleCI
以下是有关其表现的详细博客,以下链接
- iOS CI Olympics简介
- iOS CI奥林匹克竞赛-第一播放器:BuddyBuild
- iOS CI奥林匹克运动会第二手:Bitrise
- iOS CI奥运选手三:TravisCI
- iOS CI奥运选手四:Nevercode
- iOS CI奥运-玩家五:CircleCI
- 宣布2017 Cloud iOS CI奥运冠军
奥运会的结果是,针对所有这些基于云的CI服务都对XCFit的每次提交进行了测试。
为每个CI服务配置构建,这些CI服务执行XCFit的单元和UI测试。 每个构建的状态都显示在自述文件中,如下所示。
以下是大约6分钟的YouTube视频,展示了XCFit新功能的用法以及如何与Xcode 9和Swift 4一起使用。该视频从头开始演示XCFit。
X CTEQ 是一家专门从事基于Mobile DevOps,CI / CD,Mobile,AI / ML的测试自动化Checkout XCTEQ产品和服务的公司, 网址 为 http://www.xcteq.co.uk 或写信给我们info@xcteq.co。英国..