如何使用Android Studio获取代码覆盖率?

2024-02-24

我正在使用 Android Studio 开发应用程序。
我能够运行测试代码。
但是,我不知道如何在 android studio 中获得代码覆盖率。

我已经看过以下链接。
Android Gradle 代码覆盖率 https://stackoverflow.com/questions/17100830/android-gradle-code-coverage
但我迫不及待地想更新到支持 emma 的 v0.6。

项目配置如下。

主要代码
MyProject/AppName/src/main/java/mypackage/MyClass.java

测试代码
MyProject/AppName/src/instrumentTest/java/mypackage/test/MyClassTest.java

项目配置
我的项目
├─build.gradle
└─应用程序名称
├─build.gradle
└─来源
├─主要
│  ├─java
│  │  └─mypackage
│  │      └─MyClass.java
│  ├─资源
│  └─AndroidManifest.xml
└─仪器测试
└─java
└─我的包裹
└─测试
└─MyClassTest.java


使用新的 Android Studio 1.2,您可以运行单元测试并在 IDE 中查看所有覆盖范围。

首先,您需要在 IDE 中运行单元测试。 (如果你已经可以,则跳过此步骤)

This guide http://tools.android.com/tech-docs/unit-testing-support#TOC-Setting-up-Android-Studio and demo https://github.com/mutexkid/android-studio-robolectric-example会帮助你。

其次,您需要创建 JUnit Run 配置

在此配置中,您可以选择

  • 测试种类:“全部打包”
  • Package:[测试所在的包,例如:“com.myapp.tests”]
  • 搜索测试:跨模块依赖关系(可能与您的不同 设置)
  • 虚拟机选项: -ea
  • 工作目录:[您的项目目录]
  • 使用mod的类路径:[选择您的模块]

如果您在创建 JUnit 运行配置时遇到任何问题,您应该访问this http://blog.blundellapps.com/how-to-run-robolectric-junit-tests-in-android-studio/指南寻求帮助。

最后,在最新的 Android Studio 中,您应该能够通过单击“Run with Coverage”按钮来运行 JUnit-Run 配置。


在 Android Studio 2.1.3 中 is 标签Run Unit tests with Coverage where Unit test是您的测试配置的名称,如以下屏幕截图所示:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Android Studio获取代码覆盖率? 的相关文章

  • IntentService、Service 或 AsyncTask

    实现这一点的最佳方法是什么 我有一个 Android 应用程序 它将使用我的 python 服务器来允许两部手机之间进行轮流通信 回合意味着他们在一轮开始之前不能互相交谈 一旦他们发送一条消息 他们就不能发送另一条消息 直到对方做出回应 然
  • 删除 json 对象字符串中的“\”

    如何删除下面字符串中的特殊字符 String x message content toom recipients id 1000001865 room subject room 我使用了 x replaceAll 但它不起作用 您必须转义正
  • Android 从键盘读取

    我的登录屏幕根本没有文本字段 当用户使用 RFID 扫描仪扫描他的 id 令牌时 我会得到一个 8 个字符长的字符串 其原理与使用键盘相同 只是更快 我希望我的登录活动在用户扫描其令牌时而不是之前执行 有一个聪明的方法来实现这个吗 我不能有
  • Notification.Builder 中 setGroup() 的用途是什么?

    我对目标的理解有些困难setGroup http developer android com reference android app Notification Builder html setGroup java lang String
  • Android Accessibility 执行触摸操作

    我想知道是否可以使用 Android 辅助功能服务在屏幕上的位置执行触摸操作 例如 Bundle arguments new Bundle arguments putInt coord X X value arguments putInt
  • 无法找到/下载 AppCompat-v7:23.1.1

    怎么了 我遇到了很多 找不到 appcompat v7 23 1 1 的问题 许多解决方案都不起作用 经过几个小时的思考和寻找答案 我遇到了一个奇怪的问题 I have gotAndroid 支持库 23 1 1 已安装 所有功能 exce
  • AOSP 中 android.Build.SERIAL 何时何地生成?

    我知道android Build SERIAL是在第一次设备启动时生成的 但我无法准确定位位置和时间 我正在建造AOSP Jelly Bean Android平板电脑 nosdcard 第二个问题 这个是序列号吗 really对所有人来说都
  • 仅在 Android 应用程序中使用 XHDPI 可绘制对象?

    如果您计划在不久的将来支持 LDPI MDPI HPDI 或许还有 XHDPI 那么是否可以在项目中仅包含 XHDPI 可绘制对象并让设备将其缩放到所需的分辨率 我已经测试过在 Photoshop 中将可绘制对象的大小调整为 MDPI 和
  • 当编辑文本获得焦点时更改边框颜色

    我想知道当编辑文本聚焦时如何更改它的边框颜色 目前它看起来像这样 我尝试过在SDK中检查源图片 但我无法理解它 我也尝试过使用xml 但无法仅更改边框颜色 如果我找到源图片 我可以在 Photoshop 中编辑以更改颜色 有什么关于如何执行
  • Flutter Spotify Api 身份验证

    我需要在使用 Spotify api 的 Flutter 应用程序中对用户进行身份验证 我使用 flutter web auth 打开 WebView 并让用户在那里登录 我无法返回应用程序 在 Spotify 仪表板中 我将回调 Uri
  • 使用 DiffUtil 在 RecyclerView 上添加拖放

    我有一个从房间数据库更新的列表 我从 Room 收到更新的数据作为新列表 然后将其传递给列表适配器 https developer android com reference androidx recyclerview widget Lis
  • Proguard - 找不到任何超级类

    我收到此错误 Unexpected error while performing partial evaluation Class org apache log4j chainsaw Main Method
  • Android 发布到 facebook 墙,stream.publish 几天来就中断了

    我有很多使用 FB android sdk 发布的应用程序 github com facebook facebook android sdk 我所有使用 FB 的应用程序几天后就停止工作了 这必然是 FB 方面的更改或错误 因为我的应用程序
  • 如何在 Android 中保存 Edittext 中的文本而不丢失文本的粗体、斜体等功能

    我想做的就是从 Edittext 中获取文本 该文本具有粗体和斜体等功能 并将其保存在文本文件中 但是当我读回并显示它时 这些功能丢失了 它们不显示 如何通过将文本保存在文本文件或任何文件中来保持丰富的功能 您可以使用Html toHtml
  • Jenkins + Gradle + Artifactory:无法读取生成的构建信息

    我正在尝试使用 Jenkins Pipeline 调用 Gradle 工具 将我的工件推送到 Artifactory 我正在关注 GitHub 上发布的示例 Example1 https github com JFrogDev projec
  • SQLiteDatabase.openDatabase 与 SQLiteOpenHelper.getReadableDatabase

    这两种方法有什么区别吗 两者都返回一个打开的 SQLiteDatabase 如果数据库不存在 两者都可以创建数据库 当需要读 写时 SQLiteOpenHelper 还具有 getWriteableDatabase 我应该使用哪种方法以及在
  • firebase中按范围查询

    我有一个食品价格范围滑块 根据滑块的最小值和最大值 我想显示此范围内的食品 滑块代码 multiSlider setOnThumbValueChangeListener new MultiSlider SimpleChangeListene
  • Android中绑定适配器有什么用?

    我一直在阅读有关Android中绑定适配器的文章 但我似乎不明白它 何时使用绑定适配器 有人可以用一个简单的例子来解释它吗 我读过的一篇文章在主活动中有一个绑定适配器 绑定适配器有一个参数 toastMessage 显然 只要 toastM
  • 如何让用户在android列表视图中选择主题?

    我有一个带有两个标签的列表视图 标题和副标题 我想要深色和浅色背景作为用户选项 标题具有 textAppearanceMedium 副标题具有 textAppearanceSmall 我希望样式 MyTheme Dark 具有白色文本 My
  • 我可以通过在 Android Activity 中声明适当的成员“静态”来提高效率吗

    如果一个 Activity 在实践中是单例 我认为我可以通过声明适当的成员 静态 来获得一些效率 且风险为零 是的 The Android 文档说 http developer android com guide topics fundam

随机推荐

  • Elixir 或 Erlang 程序可以编译为独立的二进制文件吗?

    它说 Elixir 有一个工具叫做elixircErlang 有一个工具叫做erlc to 编译模块 http elixir lang org crash course html elixir用来 在此之后 您可以立即运行代码elixir命
  • 检测按下哪个键[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我如何知道
  • 未命中断点 Mono For Android (Monodroid)

    我的 monodroid 应用程序构建并运行良好 但未命中断点 这适用于物理设备和模拟器 我创建了一个新的默认 monodroid 应用程序 它确实遇到了断点 我尝试过重建 重新启动 ADB 和重新启动 我运行的是 VS2010 M4A 版
  • Firebase Google Cloud 从设备到设备的消息传递

    我无法理解如何将消息从 iOS 设备发送到另一台 iOS 设备 并试图了解两者之间的区别 Firebase 通知和 Google Cloud Messaging Firebase 通知假设您可以从服务器向设备发送消息 谷歌云消息 它将消息从
  • ElasticSearch:根据字段长度过滤文档

    我在 SO 上读到了几个类似的问题 并建议解决方案不起作用 我想找到单词短于8的所有字段 我的数据库屏幕 我尝试使用此查询来执行此操作 query match all filter script script doc word length
  • Cordova iOS 6.1.1 白色启动画面

    在我的 Cordova 应用程序中 升级到 cordova ios 6 1 1 后遇到问题 应用程序运行正常 但未显示启动屏幕 只有一个白屏 就像我的闪屏文件被忽略一样 我有这个 config xml 文件
  • 如何处理`已被弃用。在 Java 中已弃用?

    我想使用的代码 window addFlags WindowManager LayoutParams FLAG SHOW WHEN LOCKED 有FLAG SHOW WHEN LOCKED https developer android
  • 关闭 OpenMP

    在我的 C 程序中 我希望有时使用 OpenMP 有时不使用 OpenMP 即多线程或单线程 来运行其可执行文件 我正在考虑以下两种情况中的任何一种 我的代码如何使用 OpenMP 1 假设我的代码只有 include
  • 无法为 jasmine 设置超时

    我已经尝试了所有解决方案这个答案 https stackoverflow com questions 9867601 how do i change the timeout on a jasmine node async spec但他们都不
  • Spring Mvc 中从控制器返回 Hashmap 到 JSP

    我在 Jsp 中有两个下拉列表 一个用于州 另一个用于国家 一旦我选择国家 地区 国家列表就会自动填充相应的列表 但我得到整个 jsp 页面作为 ajax 调用的响应 我的ajax程序 select country change funct
  • 为什么图像没有保存在我的代码中而只是由管理页面保存?

    我需要知道为什么图像不保存在路径中 我从路径中检查 静态根和媒体根似乎都工作良好 但图像未保存 这里是代码 您可以在其中看到发生了什么 notice 该图像工作正常 并已通过管理页面安装 但无法保存或通过我的代码工作 模型 py class
  • Power Query M - 表达式错误 - 列表到文本

    我正在使用 Web Contents 执行 API 请求 我提交了一个从函数获取的动态访问令牌 let Source Json Document Web Contents https api url com endpoint id Head
  • 捕获蓝牙远程快门事件

    我想知道如何 是否可以在 android 中捕获由蓝牙远程快门事件触发的事件 例如这样的一个 http www avancaproducts com en shop other bluetooth camera shutter remote
  • 在 docker 中运行 json-server

    我一直在跑步json 服务器 https github com typicode json server使用以下配置在 docker 容器中成功运行了一段时间 泊坞窗文件 FROM node alpine EXPOSE 3000 COPY
  • 在自定义 UIGestureRecognizer 中实现速度

    我编写了一个自定义 UIGestureRecognizer 它可以用一根手指处理旋转 它的设计工作方式与 Apple 的 UIRotationGestureRecognizer 完全相同 并返回相同的值 现在 我想实现速度 但我无法弄清楚苹
  • 我应该使用 XSD 1.1 来构建开放标准吗?

    我们被要求为开放 XML 标准整合一组模式 XSD 1 0 可以处理大多数规则 但在某些地方会有点混乱 特别是考虑到可扩展性 它还依赖于实现者以注释的形式阅读某些规则的自由文本描述 几乎所有规则都可以使用 XSD 1 1 来实现 但是我们不
  • Java不发送客户端证书

    我在 Java 1 7 上使用 HttpClient 4 2 3 连接到 nginx 托管的远程服务器 我的组织广泛使用 PKI 并且远程和客户端都具有由通用 CA 颁发的证书 服务器有一个如下的签名链 CN Server 123 OU S
  • .NET 中泛型集合和非泛型集合之间的内存使用差异

    我读到收藏品如今在 NET 中 众所周知 使用有一些优点通用集合 over 非通用的 它们是类型安全的 没有转换 没有装箱 拆箱 这就是通用集合具有性能优势的原因 如果我们认为非泛型集合将每个成员存储为object 那么我们可以认为泛型也具
  • 适用于 OS X 的虚拟 HID 键盘

    我正在尝试创建一个虚拟的蓝牙Mac 操作系统的键盘客户端 这意味着我的 Mac 将充当 BT KB 我读到了 OS X 中的蓝牙 API 在 ObjC 中 并且我还发现了适用于 Mac 的 HID API 在 C 中 为了完成这项工作 我知
  • 如何使用Android Studio获取代码覆盖率?

    我正在使用 Android Studio 开发应用程序 我能够运行测试代码 但是 我不知道如何在 android studio 中获得代码覆盖率 我已经看过以下链接 Android Gradle 代码覆盖率 https stackoverf