Spring boot Gradle can';在Spring引导升级到2.3.2之后,再也找不到测试了
我们最近升级了我们的Kotlin Spring Boot项目,因此Spring Boot 2.3.2,从那以后,gradle似乎再也无法进行任何测试了 我们使用gradle包装器5.6.2并升级到6.3,尽管声明5.6.x也应该工作。Gradle升级没有帮助,Gradle仍然无法进行任何测试,当我降级到2.2.3时,它工作正常。我们使用Kotest、Junit5和嵌入式mongodb进行测试Spring boot Gradle can';在Spring引导升级到2.3.2之后,再也找不到测试了,spring-boot,kotlin,gradle,Spring Boot,Kotlin,Gradle,我们最近升级了我们的Kotlin Spring Boot项目,因此Spring Boot 2.3.2,从那以后,gradle似乎再也无法进行任何测试了 我们使用gradle包装器5.6.2并升级到6.3,尽管声明5.6.x也应该工作。Gradle升级没有帮助,Gradle仍然无法进行任何测试,当我降级到2.2.3时,它工作正常。我们使用Kotest、Junit5和嵌入式mongodb进行测试 plugins { val kotlinVersion = "1.3.50"
plugins {
val kotlinVersion = "1.3.50"
kotlin("jvm") version kotlinVersion
kotlin("plugin.spring") version kotlinVersion
id("org.springframework.boot") version "2.3.2.RELEASE"
id("io.spring.dependency-management") version "1.0.9.RELEASE"
id("jacoco")
}
dependencyManagement {
dependencies {
dependency("net.logstash.logback:logstash-logback-encoder:6.1")
dependency("com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0")
val kotlintestVersion = "3.4.2"
dependency("io.kotlintest:kotlintest-runner-junit5:$kotlintestVersion")
dependency("io.kotlintest:kotlintest-extensions-spring:$kotlintestVersion")
dependency("io.kotlintest:kotlintest-assertions:$kotlintestVersion")
}
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.springframework.boot:spring-boot-starter-data-mongodb")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
testImplementation("org.assertj:assertj-core")
testImplementation("org.springframework.boot:spring-boot-starter-test") {
exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
}
testImplementation("org.springframework.amqp:spring-rabbit-test")
testImplementation("org.springframework.security:spring-security-test")
testImplementation("com.nhaarman.mockitokotlin2:mockito-kotlin")
testImplementation("io.kotlintest:kotlintest-runner-junit5")
testImplementation("io.kotlintest:kotlintest-extensions-spring")
testImplementation("io.kotlintest:kotlintest-assertions")
}
val jacocoTask = tasks.withType<JacocoReport> {
reports {
xml.isEnabled = true
}
}
tasks.withType<Test> {
doFirst {
environment("SPRING_DATA_MONGODB_PORT", "${project.mongo.port}")
}
this.extra.set("runWithMongoDb", true)
useJUnitPlatform()
finalizedBy(jacocoTask)
}
mongo {
setPort("RANDOM")
}
val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions {
freeCompilerArgs = listOf("-XXLanguage:+InlineClasses")
}
因此,我在日志中没有发现异常或任何其他问题,即使我得到以下信息:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [com.tractive.hwservice.HardwareServiceApplicationSpec](filter.includeTestsMatching)
感谢您的帮助,我已经尝试过各种gradle版本,到目前为止还没有任何组合有效。一位同事告诉我,我可能需要使用不同的测试运行程序,但我在升级指南/文档中找不到任何与此相关的内容
有趣的是,我将我们的另一个服务升级到了最新的spring boot版本,该版本使用gradle wrapper 6.4,测试结果与预期的一样。最终让它与任何gradle版本一起工作,并用(5.6.x、6.3、6.4、6.5和6.6)进行了尝试
我们缺少的是更新kotlin
plugin.spring的版本。在我们将其更新为1.3.72
而不是1.3.50
之后,一切都按预期进行了。最终将其用于任何Gradle版本,并用(5.6.x、6.3、6.4、6.5和6.6)进行了尝试
我们缺少的是更新kotlinplugin.spring的版本。在我们将其更新为1.3.72
而不是1.3.50
之后,一切都按预期运行
> Task :test
file or directory 'C:\Users\Pia Gerhofer\Projects\hw-service-v2\build\classes\java\test', not found
Excluding []
Caching disabled for task ':test' because:
Build cache is disabled
Task ':test' is not up-to-date because:
Task.upToDateWhen is false.
Extracting Mongo binaries...
Starting Mongod 4.0.2 on port 55319...
start de.flapdoodle.embed.mongo.config.MongodConfigBuilder$ImmutableMongodConfig@7f4e7fe1
Mongod started.
file or directory 'C:\Users\Pia Gerhofer\Projects\hw-service-v2\build\classes\java\test', not found
Starting process 'Gradle Test Executor 3'. Working directory: C:\Users\Pia Gerhofer\Projects\hw-service-v2 Command: C:\Program Files\Java\jdk-11.0.5\bin\java.exe -Dorg.gradle.native=false -javaagent:build/tmp/expandedArchives/org.jacoco.agent-0.8.5.jar_6a2df60c47de373ea127d14406367999/jacocoagent.jar=destfile=build/jacoco/test.exec,append=true,inclnolocationclasses=false,dumponexit=true,output=file,jmx=false @C:\Users\Pia Gerhofer\AppData\Local\Temp\gradle-worker-classpath2455123809837509056txt -Xmx512m -Dfile.encoding=windows-1252 -Duser.country=AT -Duser.language=de -Duser.variant -ea worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 3'
Successfully started process 'Gradle Test Executor 3'
Gradle Test Executor 3 started executing tests.
> Task :test
~~~ Project Configuration ~~~
Gradle Test Executor 3 STANDARD_OUT
~~~ Project Configuration ~~~
-> Parallelism: 1 thread
-> Parallelism: 1 thread
-> Test order: LexicographicSpecExecutionOrder
-> Test order: LexicographicSpecExecutionOrder
-> Soft assertations: False
-> Soft assertations: False
-> Write spec failure file: False
-> Write spec failure file: False
-> Fail on ignored tests: False
-> Fail on ignored tests: False
-> Extensions
-> Extensions
- io.kotlintest.extensions.SystemPropertyTagExtension
- io.kotlintest.extensions.SystemPropertyTagExtension
- io.kotlintest.extensions.RuntimeTagExtension
- io.kotlintest.extensions.RuntimeTagExtension
Gradle Test Executor 3 finished executing tests.
> Task :test FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [com.tractive.hwservice.HardwareServiceApplicationSpec](filter.includeTestsMatching)