【问题标题】:Exclude classes in Espresso tests coverage using jacoco使用 jacoco 排除 Espresso 测试覆盖率中的类
【发布时间】:2016-04-04 11:21:11
【问题描述】:

我能够在我的 Android 应用程序中使用 jacoco 获得我的测试覆盖率报告,因为它就像执行“createDebugCoverageReport”任务一样简单。但我需要做的是从 jacoco 分析中排除一些类,以提高我的覆盖率。我发现一些答案在谷歌上搜索了很多,但它们都与单元测试有关。有人可以帮助我吗?

【问题讨论】:

标签: android android-espresso jacoco


【解决方案1】:

您的问题中没有包含很多见解。根据您写的内容,我可以详细说明:

您找到了很多关于单元测试的答案,因为 jacoco 以类似的方式处理所有测试。 您需要做的是遵循相同的路线:
Jacoco 负责查看您的测试。通常,您会使用 @Test 注释对测试进行注释。确保为您的和需要排除的人执行此操作,将它们插入此类标记中(如果您使用的是 maven):

<configuration>
    <excludes>
        <exclude>**/*Config.*</exclude>
        <exclude>**/*Dev.*</exclude>
    </excludes>
</configuration>

如果您使用的是 gradle,请查看 this article。

【讨论】:

  • 我正在使用 Gradle。我不需要排除测试,但需要分析代码以打印出报告。我没有发布任何代码,因为没有任何相关代码可显示。我的目标是提高代码覆盖率。我现在得到的结果来自一个糟糕的分析:jacoco 正在分析对测试覆盖目的不重要的类。我也查看了那个答案,但我无法以这种方式修复,因为我没有创建任何任务来创建报告。我使用“createDebugCoverageReport”任务,但无法按照该答案中的建议进行调整
  • 分析的代码基于您的测试。为了提高代码覆盖率,您需要创建额外的测试,以覆盖您为生产编写的所有代码。如果您对某些检查不感兴趣,请确保将它们排除在您的 gradle 配置文件中。
  • 没有。它还考虑由其他服务创建的类(例如,由 Protocol Buffers 创建的 Messages.java 类)。我需要从 jacoco 分析中排除这个类以及其他类。
猜你喜欢
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
  • 2016-04-07
相关资源
最近更新 更多