Add code coverage for domain
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user