一般来说,我们平时测试都是在 Xcode 里面利用可视化界面或者 cmd+U
进行的,可是自动化脚本对这样的方式支持可不是那么的友好,例如利用 CI 的自动化测试,最好的办法就是利用 Xcode 提供的 Command Line 工具。
xcodebuild
xcodebuild builds one or more targets contained in an Xcode project, or builds a scheme contained in an Xcode workspace or Xcode project.
Xcode 提供的一个基于 CLT 的一个命令,用于编译测试打包分析你的工程。
build actions
在这个命令中,提供了一大坨 build actions ,基本和 GUI 里面的功能一致。
1 | build action ... |
用于跑测试的 test 命令
一般来说,这里面的参数也是和图形化界面里面的一样,选择 build action ,选择 project
或者 workspace
,选择 scheme
还有目标测试平台设备,例如
1 | $ xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination 'platform=OS X,arch=x86_64' |
选择运行测试设备
当然了,我们一般都是用模拟器啦~
1 | $ xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone,0S=7.0' |
如果你想用真机测试,当然可以
1 | $ xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination 'platform=iOS,name=Development iPod touch' |
如果你突发奇想,想要三个目标设备一块跑,当然可以!只需要填写三个 -destination
即可。
1 | $ xcodebuild test -project MyAppProject.xcodeproj -scheme MyApp -destination 'platform=OS X,arch=x86_64' -destination 'platform=iOS,name=Development iPod touch' -destination 'platform=iOS Simulator,name=iPhone,0S=7.0' |
命令返回值
和大多数命令一样,执行测试完成后,会有个返回值,当然了,如果失败了……
If any tests fail, xcodebuild returns a nonzero exit code.
想要了解更多
这只是个大致的介绍,更多细节请联系 Apple 牛逼的工程师们(明显不靠谱),或者
1 | $ man xcodebuild |