目录:
一、Xcode项目中新建单元测试类
二、使用xcodebuild脚本执行单元测试用例
1、xcodebuild脚本使用
2、测试代码覆盖率
3、增量代码统计
三、Gitlab部署自动化单元测试
一、Xcode项目中新建单元测试类
1、新建测试用例
New File --> Unit Test Case Class
编写测试用例
2、打开项目代码覆盖率设置
Edite Scheme --> Test --> Options --> Code Coverage -> ☑️
可以查看代码通过率,和代码覆盖率;
执行结果:
二、使用xcodebuild脚本执行单元测试用例
1、xcodebuild脚本使用
示例:
xcodebuild test -workspace WztFoundation.xcworkspace -scheme WztFoundation -derivedDataPath "${BUILD_DIR}/" -destination "${SIMULATOR_PLATFORM}" -resultBundlePath ./ -resultBundleVersion 3
(1)获取当前项目scheme:
$ xcodebuild -list
打印:
Information about project "WztFoundation":
Targets:
WztFoundation_Example
WztFoundation_Tests
Build Configurations:
Debug
Release
If no build configuration is specified and -scheme is not passed then "Release" is used.
Schemes:
WztFoundation_Tests
WztFoundation-Example
(2)destination
模拟器或者真机,如使用:"name=真机名称"
(3)单元测试结果保存路径derivedDataPath
可设置为当前项目根目录,为执行单元测试结果文件的保存路径;
(4)执行
xcodebuild test -workspace WztFoundation.xcworkspace -scheme WztFoundation_Tests -destination "name=aut_wzt_iPhone2" -derivedDataPath ./
2、测试代码覆盖率
单元测试覆盖率也是一个非常有用的指标,在Xcode里面我们同样可以查看测试代码覆盖率,且步骤简单;
Edit Scheme -> Test -> Options -> Code Coverage -> ☑️
3、增量代码统计
$ git diff e53b8299 a25e1cc3 --unified=0
加上--unified=0
之后,git diff
的新增/修改行数统计就是准确的了。
三、Gitlab部署自动化单元测试
1、Gitlab远程仓库创建.gitlab-ci.yml
(1)创建.gitlab-ci.yml
A.仓库 --> 选择分支 --> 新建文件
B.模版选择.gitlab-ci.yml
(2)配置.gitlab-ci.yml
gitlab-ci配置详解(二) https://segmentfault.com/a/1190000011890710
Get started with Gitlab CI/CD https://gitlab.wztcom.com/help/ci/quick_start/README#create-a-gitlab-ciyml-file
stages:
- build
- test
- deploy
variables:
LC_ALL: "en_US.UTF-8"
LANG: "en_US.UTF-8"
GIT_STRATEGY: clone
test:
stage: test
script:
- 'xcodebuild test -workspace ./Example/WztFoundation.xcworkspace -scheme WztFoundation-Example -destination "name=aut_wzt_iPhone2" -derivedDataPath ./'
tags:
- wzt_runner
tags就是指定runner的作用;
2、gitlab runner 安装及注册
https://www.jianshu.com/p/c7995ad64f48
注意:注册runner的时候,有一步是给runner的tag起名字,用于后续关联git和runner的tag--用于.gitlab-ci.yml文件中tag设置runner使用;
Please enter the gitlab-ci tags for this runner (comma separated):
wzt_runner大概分为三步:2.1安装