Kover 是一组用于收集为 JVM 和 Android 平台编译的 Kotlin 代码的测试覆盖率的解决方案。
科弗工具集:
Kover Gradle 插件
Kover Maven 插件
科弗 CLI
Kover离线仪表
Kover JVM 代理
Kover特色神器
有关 Kover Gradle 插件最新稳定版本的完整信息,请参阅文档。
通过JVM
测试收集代码覆盖率(尚不支持 JS 和本机目标)。
生成HTML
和XML
报告。
支持Kotlin JVM
、 Kotlin Multiplatform
项目。
支持具有构建变体的Kotlin Android
项目(尚不支持在 Android 设备上执行的仪器测试)。
支持Kotlin
和Java
混合源
Gradle 插件中带有边界的验证规则用于跟踪覆盖范围。
使用 Gradle 插件中的 JaCoCo 库作为覆盖率测量和报告生成的替代方案。
应用 Kover 的推荐方法是使用插件 DSL。
Gradle
支持的最低版本是6.8
。
将以下内容添加到您的顶级构建文件中:
插件{ id(“org.jetbrains.kotlinx.kover”)版本“0.9.0-RC”}
插件{ id 'org.jetbrains.kotlinx.kover' 版本 '0.9.0-RC'}
应用 Kover Gradle 插件后,将创建 Kover 任务以生成报告和验证。例如,要生成 HTML 报告,请运行./gradlew koverHtmlReport
- 这将自动启动代码编译、执行仪器测试,并且将在构建文件夹中生成包含测量结果的 HTML 报告。
同样重要的是,在应用 Kover Gradle 插件后,在运行测试期间,类在加载到 JVM 时会被修改(插装),这可能会导致性能下降,或影响并发测试。
如果由于某种原因无法使用插件 DSL,则可以使用应用插件的传统方法。
构建脚本{ 存储库{ mavenCentral() } 依赖项{ 类路径(“org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC”) } }应用(插件=“org.jetbrains.kotlinx.kover”)
构建脚本{ 存储库{ mavenCentral() } 依赖项{ 类路径 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } 应用插件:'org.jetbrains.kotlinx.kover'
您必须添加对将运行报告任务的项目的依赖关系
依赖项{ 科弗(项目(“:另一个:项目”)) }
在这种情况下,将为与:another:project
项目结合的当前项目生成报告。
更多 Gradle 插件应用示例可以在 example 文件夹中找到
Kover Aggreged Plugin 作为 Gradle Settings 插件的原型,旨在简化多项目构建的设置。它还处于起步阶段,建议仅将其用于测试或宠物项目。
有关详细信息,请参阅文档。
可以通过指定构建插件来应用Kover Maven Plugin
<插件> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kover-maven-plugin</artifactId> <版本>0.9.0-RC</版本> </插件>
本文档部分详细说明了科弗进球列表。
有关 Kover Maven 插件最新稳定版本的完整信息,请参阅文档。
用于离线检测和生成人类可读报告的独立 JVM 应用程序。
Kover CLI 的文档。
离线检测是对存储在磁盘上的类文件进行修改以测量其覆盖范围。
文档中描述了离线检测和运行检测的应用程序的方法。
JVM 代理是一个 jar 文件,它修改加载到 JVM 类中的字节码以测量覆盖率。文档。
JVM 依赖项,允许以编程方式检测磁盘上的类文件。
Kover 功能工件的文档
请参阅贡献指南。