【问题标题】:Code coverage in Android StudioAndroid Studio 中的代码覆盖率
【发布时间】:2014-12-05 16:21:28
【问题描述】:

我在 build.gradle 文件中添加了 testCoverageEnabled=true 以开始获取一些代码覆盖率报告。

运行我的测试,我可以看到我的构建输出文件夹中添加了一个代码覆盖文件夹。但是,当到达其内容时,我看到只有一个 coverage.ec 文件...

我可以用这个文件做什么以获得最近的报告?或者我应该在 build.gradle 中添加什么以获得完整报告?

【问题讨论】:

标签: android-studio code-coverage android-gradle-plugin jacoco eclemma


【解决方案1】:

(编辑:我的旧答案使用 Jacoco 来获得代码覆盖率。借助 Android Studio 的最新更新,您无需第三方工具即可获得代码覆盖率)

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

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

guidedemo 将为您提供帮助。

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

在此配置中,您将能够选择

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

如果您在创建 JUnit 运行配置时遇到任何问题,请访问 this 指南寻求帮助。

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

【讨论】:

    【解决方案2】:

    将以下内容添加到“build.gradle”文件中

    apply plugin: "jacoco"
    

    使用

    运行测试
    gradlew :<module>:createDebugCoverageReport
    

    从项目根目录运行命令,将“module”替换为被测模块的名称。

    输出应该在“build/outputs/reports/coverage”下的模块中

    【讨论】:

    • 似乎不起作用:在项目 ':...' 中找不到任务 'createDebugCoverageReport'。
    • 已经能够运行它,但我再次只得到一个coverage.ec文件
    猜你喜欢
    • 2016-02-28
    • 2015-03-21
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多