2016-04-04 53 views
2

我能够在我的Android应用程序中使用jacoco获得我的测试的覆盖率报告,因为它执行“createDebugCoverageReport”任务非常简单。但我需要做的是从jacoco分析中排除一些类,以提高我的覆盖率。我发现一些答案googling很多,但他们都涉及单元测试。有人可以帮助我吗?使用jacoco排除Espresso测试覆盖率中的类

+0

你解决了你的问题吗? –

+1

是的。我不得不创建另一个Gradle任务。我遵循本指南https://medium.com/@rafael_toledo/setting-up-an-unified-coverage-report-in-android-with-jacoco-robolectric-and-espresso-ffe239aaf3fa#.butp8u2iq 我希望这可以帮助他人。 –

+0

看起来我需要不同的东西。这里是我的问题:http://stackoverflow.com/q/37284978/1065835 –

回答

0

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

你发现了很多关于单元测试的答案,因为jacoco以类似的方式处理所有的测试。 你需要做的是遵循相同的路线:
雅科科负责看你的测试。通常你会用@Test注解来注释测试。请确保你做到这一点为你和你需要排除这种标签插入(如果你正在使用maven):

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

如果使用gradle这个,看看this article代替。

+0

我使用Gradle。我不需要排除测试,但需要分析打印出报告的代码。我没有发布任何代码,因为没有任何相关代码可以显示。我的目标是提高代码覆盖率。我现在所得到的结果是一个不好的分析:jacoco正在分析对测试覆盖目的不重要的类。 我也看过那个答案,但我无法修复这种方式,因为我没有创建任何任务来创建报告。我使用“createDebugCoverageReport”任务,并且无法根据回答中的建议调整它 –

+0

分析的代码基于您的测试。为了提高代码覆盖率,您需要创建额外的测试,以达到您为生产编写的所有代码。如果您对某些检查不感兴趣,请确保将它们排除在您的gradle配置文件中。 – LoreV

+0

否。它正在考虑由其他服务创建的类(例如Protocol Buffers创建的Messages.java类)。我需要从jacoco分析中排除这个以及其他类。 –

相关问题