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生成测试覆盖率失败相关推荐

  1. Node.js 单元测试:我要写测试 - Mocha - Nodejs开源项目里怎么样写测试、CI和代码测试覆盖率

    -------------------------------------- 单元测试Express/NodeJs 个人理解, 1,如果不是测试http请求的单元测试,用Mocha, Chai等基本够 ...

  2. 持续集成与持续部署(三)——实现持续集成的效率工具对比之Jenkins、Travis CI、Circle CI和其他持续集成工具

    持续集成与持续部署(三)--实现持续集成的效率工具对比之Jenkins.Travis CI.Circle CI和其他持续集成工具 效率工具对比 点击查看效率工具 1. Jenkins Jenkins, ...

  3. 【请收藏】自动化构建部署之Circle CI使用(GitHub/CircleCI/Vue)

    CI/CD 工具介绍 从上图对比可以看到 各自有优缺点,Jenkins有点是免费且跨平台,而Travis CI和Circle CI是收费的,且不支持windows,但会为开源的项目免费提供一些服务,私 ...

  4. 加速Java应用开发速度3——单元/集成测试+CI

    大家可能对如下情景比较熟悉: 如果开发过SSH的web项目,启动服务器可能会比较慢,有的项目甚至需要1分多钟,甚至更多,这个启动时间的等待一般就浪费了: 在开发项目时,有些功能比较复杂,当时觉得思路特 ...

  5. sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...

    本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...

  6. 基于jacoco插件,使用python脚本分析java项目测试覆盖率。

    1. 需求分析: 1.1 功能描述 在java项目中要得出测试的覆盖率,使用jacoco插件,利用其生成的html文件进行解析.在脚本中生成一个以字符串形式构成的html格式的文件. 覆盖率以模块为单 ...

  7. GitHub集成Circle CI(附 Circle CI 配置示例文件)

    文章目录 GitHub 集成Circle CI CI(持续集成) 简单解释 CI 工具 Circle的使用 将GitHub项目授权给 Circle CI 书写 config.yml文件 测试 Circ ...

  8. java代码实现单元测试jacoco覆盖率收集生成多模块聚合报告

    文章目录 背景 一.准备工作 - 生成exec文件 二.准备工作 - 引入依赖 三.利用jenkins-jacoco插件源码收集覆盖率结果 四.生成jacoco报告文件,聚合多模块 附赠相关知识点 背 ...

  9. 阿里p8推荐,测试覆盖率工具—Jacoco,实用性极佳

    测试覆盖率工具 测试过程中根据需求文档和设计文档编写测试用例.执行测试:为了更加全面的覆盖,我们可能还需要理解被测程序的逻辑,需要考虑到每个函数的输入与输出,逻辑分支代码的执行情况,这个时候我们的测试 ...

最新文章

  1. Codeforces Gym 100513G G. FacePalm Accounting 暴力
  2. 013_序列内建函数
  3. R语言实战应用精讲50篇(八)-随机区组设计资料的方差分析
  4. ASP.NET-后台cookie与前台JQUERY解析cookie
  5. Django学习笔记2
  6. php 获取相反值,php – 以相反的顺序从单向数组中获取数据
  7. dbmsjobs记录表 oracle_oracle数据库定时任务dbms_job
  8. 课设 stm32的8路电压表采集系统
  9. 基于SSM企业人事管理系统.doc
  10. Android修炼之道—布局优化( 100 喵喵币)
  11. 卡通飞翔的牛动画特效
  12. 【空间单细胞组学】第2期:联合单细胞和bulk转录组鉴定了结直肠癌中两种上皮肿瘤细胞状态,并完善了CMS分型
  13. Java高级编程9-姜国海 网络应用编程
  14. perl(Time::HiRes) is needed mysql5.7
  15. MathJax 与 Katex 在公式对齐、编号、交叉引用方面的不同
  16. oracle存储过程初学实例
  17. 面对批评与争议,苹果让步,延迟推出CSAM儿童保护功能
  18. 肉鸡的俘虏!一个菜鸟******的自白
  19. mysql 在linux环境下导出,window下导入报ASCII '\0' appeared in the statement
  20. Windows环境下用cloc统计代码量

热门文章

  1. oracle介质恢复的内部过程--推断与参考
  2. 如何将第三方控件嵌入ToolStrip控件,并提供Design-Time支持
  3. 水滴石穿C语言之可变参数问题
  4. 听说玩这些游戏能提升编程能力?
  5. pandas学习笔记四之读取写入文件
  6. scATAC-seq建库原理,质控方法和新R包Signac的使用
  7. Acoustica 7 Premium Edition for Mac(音频处理软件) v7.3.28
  8. git灰度发布版本_spring cloud灰度发布
  9. NOI Linux2.0使用系列视频集
  10. 我的世界服务器玩家在线指令,我的世界服务器中玩家间的传送功能 | 我的世界 | MC世界侠...