java test circle_java-使用Jacoco和Circle CI生成测试覆盖率失败
CircleCI does not currently support Android模拟器.根据我的经验,即使有一个可行的方法,也不会长期有效. (链接从2018年1月17日开始).
话虽如此,仍然可以通过使用Firebase Test Lab来收集集成测试覆盖率的一个好方法.
设置项目以在Firebase Test Lab上运行测试后,您应该可以按照以下方式编辑项目:
>您将需要更新config.yml文件的Firebase测试任务.注意,我使用CIRCLE_BRANCH和CIRCLE_BUILD_NUM来确保结果在每次构建时都保存在结果存储区中的特定位置.您将要用实际的存储区位置替换YOUR_LOCATION,并用运行Firebase测试的设备替换DEVICE.
您还将需要用用于运行仪器测试的Jacoco命令替换LOCATION_OF_ANDROID_TESTS(您可以通过在本地运行仪器测试然后寻找此名称来找到它.)gsutil命令被设置为从存储桶中提取覆盖文件它们被流式传输,然后删除存储桶中的文件夹.如果使用gsutil -m -o命令,则可以更快地完成此操作.
值得一提的是,这将使构建失败的结果保留在存储桶中(因此,您可能需要移出该命令,以确保存储桶中不会出现数据过多的情况).
sudo pip install -U crcmod
sudo gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
sudo gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
sudo gcloud firebase test android run \n --type instrumentation \n --app PATH_TO_APK \n --test PATH_TO_TEST_APK \n --device DEVICE_OF_YOUR_CHOOSING \n --environment-variables coverage=true,coverageFile="/sdcard/coverage.ec" \n --directories-to-pull=/sdcard \n --results-dir=${CIRCLE_BRANCH}_${CIRCLE_BUILD_NUM}
sudo gsutil -m cp -r -U gs://test-lab-YOUR_LOCATION/${CIRCLE_BRANCH}_${CIRCLE_BUILD_NUM}/DEVICE/artifacts/coverage.ec app/build/outputs/code_coverage/LOCATION_OF_ANDROID_TESTS/connected/coverage.ec
sudo gsutil rm -r gs://test-lab-YOUR_LOCATION/${CIRCLE_BRANCH}_${CIRCLE_BUILD_NUM}
>在集成测试运行之后(或之前,您可以选择),您将需要运行单元测试.
>单元测试运行后,您将需要运行合并报告Jacoco任务,以将单元测试覆盖率报告与集成测试覆盖率报告合并.
最后说明:为了在Firebase上将报告输出到测试设备上,我必须添加一个包含WRITE_EXTERNAL_STORAGE权限的调试清单.这是因为我的应用程序未在发行版本中使用此权限.如果您的应用程序已在使用此权限,则无需添加调试清单.
java test circle_java-使用Jacoco和Circle CI生成测试覆盖率失败相关推荐
- Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率
-------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...
- 持续集成与持续部署(三)——实现持续集成的效率工具对比之Jenkins、Travis CI、Circle CI和其他持续集成工具
持续集成与持续部署(三)--实现持续集成的效率工具对比之Jenkins.Travis CI.Circle CI和其他持续集成工具 效率工具对比 点击查看效率工具 1. Jenkins Jenkins, ...
- 【请收藏】自动化构建部署之Circle CI使用(GitHub/CircleCI/Vue)
CI/CD 工具介绍 从上图对比可以看到 各自有优缺点,Jenkins有点是免费且跨平台,而Travis CI和Circle CI是收费的,且不支持windows,但会为开源的项目免费提供一些服务,私 ...
- 加速Java应用开发速度3——单元/集成测试+CI
大家可能对如下情景比较熟悉: 如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时间的等待一般就浪费了: 在开发项目时,有些功能比较复杂,当时觉得思路特 ...
- sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...
本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...
- 基于jacoco插件,使用python脚本分析java项目测试覆盖率。
1. 需求分析: 1.1 功能描述 在java项目中要得出测试的覆盖率,使用jacoco插件,利用其生成的html文件进行解析.在脚本中生成一个以字符串形式构成的html格式的文件. 覆盖率以模块为单 ...
- GitHub集成Circle CI(附 Circle CI 配置示例文件)
文章目录 GitHub 集成Circle CI CI(持续集成) 简单解释 CI 工具 Circle的使用 将GitHub项目授权给 Circle CI 书写 config.yml文件 测试 Circ ...
- java代码实现单元测试jacoco覆盖率收集生成多模块聚合报告
文章目录 背景 一.准备工作 - 生成exec文件 二.准备工作 - 引入依赖 三.利用jenkins-jacoco插件源码收集覆盖率结果 四.生成jacoco报告文件,聚合多模块 附赠相关知识点 背 ...
- 阿里p8推荐,测试覆盖率工具—Jacoco,实用性极佳
测试覆盖率工具 测试过程中根据需求文档和设计文档编写测试用例.执行测试:为了更加全面的覆盖,我们可能还需要理解被测程序的逻辑,需要考虑到每个函数的输入与输出,逻辑分支代码的执行情况,这个时候我们的测试 ...
最新文章
- Codeforces Gym 100513G G. FacePalm Accounting 暴力
- 013_序列内建函数
- R语言实战应用精讲50篇(八)-随机区组设计资料的方差分析
- ASP.NET-后台cookie与前台JQUERY解析cookie
- Django学习笔记2
- php 获取相反值,php – 以相反的顺序从单向数组中获取数据
- dbmsjobs记录表 oracle_oracle数据库定时任务dbms_job
- 课设 stm32的8路电压表采集系统
- 基于SSM企业人事管理系统.doc
- Android修炼之道—布局优化( 100 喵喵币)
- 卡通飞翔的牛动画特效
- 【空间单细胞组学】第2期:联合单细胞和bulk转录组鉴定了结直肠癌中两种上皮肿瘤细胞状态,并完善了CMS分型
- Java高级编程9-姜国海 网络应用编程
- perl(Time::HiRes) is needed mysql5.7
- MathJax 与 Katex 在公式对齐、编号、交叉引用方面的不同
- oracle存储过程初学实例
- 面对批评与争议,苹果让步,延迟推出CSAM儿童保护功能
- 肉鸡的俘虏!一个菜鸟******的自白
- mysql 在linux环境下导出,window下导入报ASCII '\0' appeared in the statement
- Windows环境下用cloc统计代码量
热门文章
- oracle介质恢复的内部过程--推断与参考
- 如何将第三方控件嵌入ToolStrip控件,并提供Design-Time支持
- 水滴石穿C语言之可变参数问题
- 听说玩这些游戏能提升编程能力?
- pandas学习笔记四之读取写入文件
- scATAC-seq建库原理,质控方法和新R包Signac的使用
- Acoustica 7 Premium Edition for Mac(音频处理软件) v7.3.28
- git灰度发布版本_spring cloud灰度发布
- NOI Linux2.0使用系列视频集
- 我的世界服务器玩家在线指令,我的世界服务器中玩家间的传送功能 | 我的世界 | MC世界侠...