Add code coverage for domain

This commit is contained in:
2025-10-12 00:23:17 +02:00
parent 6d58b93477
commit 3489613afc

View File

@@ -1,4 +1,6 @@
plugins {
jacoco
`jvm-test-suite`
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
}
@@ -9,15 +11,6 @@ kotlin {
jvm()
androidTarget()
// @OptIn(ExperimentalWasmDsl::class)
// wasmJs {
// moduleName = "yaep-commonUI"
// browser()
// binaries.executable()
// }
// linuxX64()
sourceSets {
commonMain {
dependencies {
@@ -31,6 +24,36 @@ kotlin {
implementation(libs.atrium)
}
}
jvmTest {
tasks.register(name = "jacocoTestReport", type = JacocoReport::class) {
group = "verification"
description = "Generate Jacoco coverage report"
dependsOn(tasks.withType(Test::class))
val coverageSourceDirs = arrayOf(
"src/commonMain"
)
val buildDirectory = layout.buildDirectory
val classFiles = buildDirectory.dir("classes/kotlin/jvm").get().asFile
.walkBottomUp()
.toSet()
classDirectories.setFrom(classFiles)
sourceDirectories.setFrom(files(coverageSourceDirs))
buildDirectory.files("jacoco/jvmTest.exec").let {
executionData.setFrom(it)
}
reports {
xml.required = true
}
}
}
}
}
@@ -47,4 +70,11 @@ android {
resources.srcDirs("src/commonTest/resources")
}
}
}
buildTypes {
debug {
enableAndroidTestCoverage = true
enableUnitTestCoverage = true
}
}
}