feat(ldd): property-based, mutation и браузерный E2E
This commit is contained in:
@@ -2,6 +2,57 @@ plugins {
|
||||
id("lms.spring-boot")
|
||||
}
|
||||
|
||||
/** PIT через CLI: Gradle-плагин 1.15 несовместим с Gradle 9.6, JUnit5-плагин — с JUnit Platform 6. */
|
||||
val pitest by configurations.creating
|
||||
|
||||
dependencies {
|
||||
add("pitest", libs.pitestCommandLine)
|
||||
}
|
||||
|
||||
tasks.register<JavaExec>("pitestPromotionPlanner") {
|
||||
group = "verification"
|
||||
description = "Mutation testing PromotionPlanner (P0 promotion rules)"
|
||||
dependsOn(tasks.testClasses)
|
||||
classpath = pitest + sourceSets.getByName("test").runtimeClasspath
|
||||
mainClass.set("org.pitest.mutationtest.commandline.MutationCoverageReport")
|
||||
val reportDir =
|
||||
layout.buildDirectory
|
||||
.dir("reports/pitest-promotion-planner")
|
||||
.get()
|
||||
.asFile
|
||||
.absolutePath
|
||||
val sourceDirs =
|
||||
sourceSets.main
|
||||
.get()
|
||||
.kotlin.srcDirs
|
||||
.joinToString(",") { it.absolutePath }
|
||||
val testClasspath = sourceSets.getByName("test").runtimeClasspath.asPath
|
||||
args(
|
||||
"--reportDir",
|
||||
reportDir,
|
||||
"--targetClasses",
|
||||
"ru.ysu.lms.identity.promotion.PromotionPlanner",
|
||||
"--targetTests",
|
||||
"ru.ysu.lms.identity.promotion.PromotionPlannerMutationTest",
|
||||
"--sourceDirs",
|
||||
sourceDirs,
|
||||
"--classPath",
|
||||
testClasspath,
|
||||
"--mutators",
|
||||
"STRONGER",
|
||||
"--threads",
|
||||
"1",
|
||||
"--outputFormats",
|
||||
"XML,HTML",
|
||||
"--timestampedReports",
|
||||
"false",
|
||||
"--timeoutConst",
|
||||
"15000",
|
||||
"--failWhenNoMutations",
|
||||
"true",
|
||||
)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(platform(libs.springBootBom))
|
||||
|
||||
@@ -15,6 +66,8 @@ dependencies {
|
||||
implementation(libs.flywayPostgresql)
|
||||
runtimeOnly(libs.postgresql)
|
||||
implementation(libs.jacksonYaml)
|
||||
implementation(libs.jacksonModuleKotlin)
|
||||
implementation(libs.jackson3ModuleKotlin)
|
||||
implementation(libs.springdocStarterWebmvcUi)
|
||||
implementation(libs.apachePoiOoxml)
|
||||
|
||||
@@ -24,6 +77,8 @@ dependencies {
|
||||
testImplementation(project(":libs:test-support"))
|
||||
testImplementation(libs.springBootStarterTest)
|
||||
testImplementation(libs.springSecurityTest)
|
||||
// PIT JUnit5-плагин несовместим с JUnit Platform 6; mutation harness — JUnit 4.
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
}
|
||||
|
||||
springBoot {
|
||||
|
||||
Reference in New Issue
Block a user