in Jenkins XCtool ~ read.

iOS 自动集成单元测试 - Jenkins与xctool整合

我胡汉三又回来啦,继上次说完Jenkins和XCode的整合后,劳资又想把单元测试交给Jenkins了,于是乎又开始寻寻觅觅寻,好聪明的中国人,好优美的中国话,扁担宽 板凳长 扁担想绑在板凳上.....不好意思,忘记次药了,不知道为什么突然脑袋里面被人插入这段旋律了。

好了言归正传,关于这篇文章是建立在Jenkins集成好Xcode的基础上,因为如果没有集成的话,可能会有一些差别。如果不知道如何整合Xcode的话,可以看Jenkins整合XCode详解这篇文章,里面有惊喜哟。

关于xctool不了解的童鞋可以到xctool在Github上查看具体的文档,本文就不对其基础用法进行累述了。如果没有用上xctool的同学那就真的可惜了,那我们就真的没办法愉快的么么哒了,毕竟连工具都用的不一样还怎么谈恋爱。 被揍图

好吧,先上两张效果图:

效果图1 测试报告的结果趋势

效果图2 每次构建后的报告(红线框部分)

好了,看完了效果图,接下来就开始说怎么做了,其实很简单的两步走

  • 在Xcode构建后加一条Execute Shell的构建,在其中加入语句/usr/local/bin/xctool -workspace ***.xcworkspace -scheme schemeName -sdk iphonesimulator -reporter junit:report/****-report.xml run-tests,如图

配置图1

聪明的童鞋一看就知道这个和xcodebuild命令的参数类似
***.xcworkspace:即你的workspace的名称(如果是xcodeproj文件,则改成-project projectName.xcodeproj)
schemeName:即你项目中的scheme(如果不懂填写,查整合xcode的文章)  
junit:report/****-report.xml:即以junit的报告格式进行输入,并存到report目录下名字为****-report.xml的文件,目录名和文件名都可以进行修改  
run-tests:即只执行测试不执行clean和编译的过程(如果您在Jenkins中所见的job为只用来单元测试的话,可以将'run-tests'改为'clean build test',这样就会为这个job进行clean、编译和测试)  
  • 接着在构建后添加一个Publish JUnit test result report的项目,并且填写之前写好的目录名好文件名,如图

配置图2

  • 最后构建项目-------大功告成!

搞定

comments powered by Disqus