XCTest-8-自动化测试过程

除了在开发期间交互运行测试外,还可以利用使用服务器自动运行测试。

基于服务器的持续集成测试

Xcode测试功能,以交互方式使用,确保您的代码相对于其指定的要求保持正常,并确保开发的错误很容易找到和修复。一套快速运行的功能测试证明你的工作,你要做什么,并确保坚实的应用基础,你可以建立在高效和自信。

也就是说,成功的开发项目往往超越单一开发人员实施和维护的范围。像源代码管理一样,服务器上的自动测试通过允许您的开发工作顺利,高效地扩展到团队的需求来提供好处。

以下是使用基于服务器的测试的一些好处:

1.使用服务器进行脱机构建和测试,可以使您的开发系统无需执行和调试,特别是在整套测试需要很长时间运行的情况下。

2.开发团队的所有成员通过使用相同的方案在服务器上运行相同的测试,从而提高测试一致性。服务器还使构建产品可用于整个团队,就像构建和测试报告一样。

3.您可以根据项目需求和团队需求调整计划。例如,测试运行可以在团队的任何成员向源管理系统提交新工作或在设置的时间定期执行时开始。也可以在需要时手动启动测试运行。

4.服务器每次运行测试时间,以完全相同的方式。服务器的报告功能可以帮助您和您的团队随时了解构建问题,构建警告和测试解决方案的图片。

5.您的项目可以自动地以更经济的方式在更多的目的地上测试,而不是手动运行的测试系统。例如,您可以将任意数量的iOS设备连接到服务器,并且使用单个配置,系统可以在所有这些设备以及多个版本的Simulator中构建和测试库,应用程序和测试。

命令行测试

使用Xcode命令行工具,您可以对项目的构建和测试进行脚本化和自动化。使用此功能可利用现有的构建自动化系统。

使用xcodebuild运行测试

该xcodebuild命令行工具驱动测试,就像Xcode的IDE。使用xcodebuild操作运行test并使用-destination参数指定不同的目标。例如,要在本地macOS“My Mac 64 Bit”上测试MyApp,请使用此命令指定目标和体系结构:

> xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination'platform = OS X,arch = x86_64'

如果您已插入支持开发的设备,则可以按名称或ID调用它们。例如,如果您连接了名为“开发iPod touch”的iPod touch,并且要测试您的代码,请使用以下命令:

> xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination'platform = iOS,name = Development iPod touch'

测试也可以在模拟器中运行。使用模拟器轻松地定位不同的外形规格,操作系统和操作系统版本。模拟器目标可以通过名称或ID指定。例如:
> xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination'platform = Simulator,name = iPhone,OS = 8.1'

该-destination参数可以链接在一起,让你只发出一个命令跨越的目标执行整合为指定的共享方案。例如,以下命令将前三个示例链接到一个命令中:

> xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp
-destination'platform = OS X,arch = x86_64'
-destination'platform = iOS,name =开发iPod touch'
-destination'platform = Simulator,name = iPhone,OS = 9.0'

如果任何测试失败,xcodebuild则返回非零退出代码。

有关更多信息,请参阅如何在命令行中在OS X和iOS中运行单元测试?从Xcode中常见问题的命令行构建。您还可以使用以下xcodebuild命令获取该命令的完整使用信息:

> man xcodebuild

使用ssh与xcodebuild

xcodebuild使用ssh(或从启动守护程序)从远程登录调用失败,除非在主机上创建正确的会话环境。

当您以用户身份以交互方式登录到MacOS系统时,将创建“Aqua会话”环境。Aqua会话初始化macOS交互式环境的基础设施; 它们是必需的,以便能够运行macOS应用程序。更具体地说,使用UI框架(AppKit或UIKit)的代码需要在Aqua会话中运行。由于这个要求,在MacOS上进行测试(以及在模拟器上进行测试,本身就是一个macOS应用程序)需要一个Aqua会话。

默认情况下,当您使用ssh登录到没有活动用户会话运行的macOS系统时,将创建命令行会话。要确保为ssh登录创建Aqua会话,您必须有一个用户在远程MacOS主机系统上登录。在远程系统上运行的用户的存在会强制Aqua会话进行ssh登录。

一旦用户在主机系统上运行,xcodebuild从ssh登录运行适用于所有类型的测试。例如,以下Terminal应用程序命令运行在开发系统主机上为“MyApp”定义的测试ssh:

> ssh localhost
> cd〜/ Development / MyAppProject_Folder
> xcodebuild test -project MyApp.xcodeproj -scheme MyApp -destination'platform = Simulator,name = iPhone 6'

对于需要更深入了解ssh,启动恶魔和启动代理以及它们如何与系统交互的用户,请参阅技术说明“ 守护程序和代理守护程序和服务编程指南”

使用Xcode Server和连续集成

Xcode通过Xcode Server支持完全集成的基于服务器的持续集成工作流程。MacOS Server中提供的Xcode Server可自动化构建,分析,测试和归档应用程序的集成过程。使用Xcode Server和持续集成工作流程被设计为对您的交互式开发工作无缝和透明。

要了解有关设置和使用Xcode Server的所有信息,请参阅Xcode Server和Continuous Integration Guide

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容