【问题标题】:How can I exclude all Jetpack Compose's Preview functions from Jacoco report?如何从 Jacoco 报告中排除所有 Jetpack Compose 的预览功能?
【发布时间】:2023-01-27 18:30:28
【问题描述】:

当我们运行 Jetpack Compose 功能的 Jacoco 代码覆盖时,我喜欢排除所有预览功能。

我可以这样做使用

@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION)
internal annotation class ExcludeFromJacocoGeneratedReport

然后对于我想从报告中排除的功能,我用

@ExcludeFromJacocoGeneratedReport
@Preview(
    name = "Name"
)
@Composable
private fun MyComposePreview() {
    // ... function content
}

这行得通。但是我必须将注释添加到我所有的预览功能中。 我希望我可以在 build.gradle 文件中将它们全部排除。

有办法吗?

【问题讨论】:

    标签: android build.gradle android-jetpack-compose code-coverage jacoco


    【解决方案1】:

    Preview 的文档说它可以应用于:

    注释类,然后可用于注释 @Composable 方法或其他注释类,然后将被视为使用该预览间接注释。

    所以我想你可以创建一个注释“PreviewExludedFromJacoco”,你用 Preview 进行注释。这不完全是您要求的,但它允许您对每个预览功能只有一个注释。

    【讨论】:

      猜你喜欢
      • 2013-01-18
      • 2021-11-05
      • 1970-01-01
      • 2018-09-22
      • 2023-03-28
      • 2015-01-17
      • 1970-01-01
      • 2017-07-26
      • 2021-10-13
      相关资源
      最近更新 更多