Xcode单元测试,Gitlab-runner部署自动化测试

目录:

一、Xcode项目中新建单元测试类

二、使用xcodebuild脚本执行单元测试用例

1、xcodebuild脚本使用

2、测试代码覆盖率

3、增量代码统计

三、Gitlab部署自动化单元测试

一、Xcode项目中新建单元测试类

1、新建测试用例

New File --> Unit Test Case Class

编写测试用例

2、打开项目代码覆盖率设置

Edite Scheme --> Test --> Options --> Code Coverage -> ☑️
可以查看代码通过率,和代码覆盖率;
执行结果:

企业微信截图_30f1a36d-f4da-4fb5-ab46-4f5884a01d28.png

二、使用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.仓库 --> 选择分支 --> 新建文件


企业微信截图_dc14d026-dc12-4440-aee3-ec8c50cc68aa.png

B.模版选择.gitlab-ci.yml


企业微信截图_49ba678c-ef19-4a0d-8a40-ffbfd4bbd9dd.png

(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安装
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容