Kotlin 我可以在Koltin多平台项目中使用Spock测试吗?如果是,如何在gradle.build.kts中设置?
我尝试在Kotlin多平台项目中使用Spock测试框架,但失败了,gradle脚本:Kotlin 我可以在Koltin多平台项目中使用Spock测试吗?如果是,如何在gradle.build.kts中设置?,kotlin,spock,kotlin-multiplatform,Kotlin,Spock,Kotlin Multiplatform,我尝试在Kotlin多平台项目中使用Spock测试框架,但失败了,gradle脚本: plugins { val kotlinVersion = "1.4.30" kotlin("multiplatform") version kotlinVersion application kotlin("plugin.serialization") version kotlinVersion groovy
plugins {
val kotlinVersion = "1.4.30"
kotlin("multiplatform") version kotlinVersion
application
kotlin("plugin.serialization") version kotlinVersion
groovy // for spock
}
repositories {
// ...
maven("https://jitpack.io") // for spock
}
kotlin {
jvm {withJava()}
js {/*...*/}
sourceSets {
val commonMain by getting {
dependencies {/*...*/}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jvmMain by getting {
dependencies {/*...*/}
}
val jvmTest by getting {
dependencies {
dependsOn(commonTest)
implementation(kotlin("test"))
implementation(kotlin("test-junit"))
// implementation(kotlin("test-junit5"))
// for spock
implementation("org.spockframework.spock:spock-core:spock-1.3")
implementation("org.codehaus.groovy:groovy-all:3.0.7")
}
}
val jsMain by getting {
dependencies {/*...*/}
}
}
}
我用groovy-2.5
和Junit5
尝试了spock-1.3
和spock-2.0-M4
,都因依赖性问题而失败,即使测试可以运行,它告诉我:没有收到测试事件,更重要的是:
I无法仅为测试创建groovy源代码折叠。(该目录类似于普通文件夹,而不是源代码或测试文件夹)
如何配置依赖项或
gradle.build.kts
文件?非常感谢您的帮助 我现在可以使Spock与现有的Ktor项目一起工作,并将下面的代码添加到我的gradle.build.kts
:
plugins {
groovy
}
repositories {
maven("https://jitpack.io")
}
dependencies {
testImplementation("org.codehaus.groovy:groovy-all:2.4.15")
testImplementation("org.spockframework.spock:spock-core:spock-1.3")
}
sourceSets {
main {
withConvention(GroovySourceSet::class) {
groovy {
setSrcDirs(listOf("src"))
}
}
}
test {
withConvention(GroovySourceSet::class) {
groovy {
setSrcDirs(listOf("test"))
}
}
}
}
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
但是,我无法通过Spock测试来理解Koltin多平台项目,我将在制作脚本时发布脚本