我尝试为所有类型为 Test
的任务设置以下内容如下:
tasks.withType<Test> {
testLogging {
exceptionFormat = TestExceptionFormat.FULL
showStandardStreams = true
showStackTraces = true
}
}
但该设置仅适用于 JVM,不适用于 Kolin/Multiplatform 上的所有目标。如何引导/启用标准输出和标准错误流在控制台中输出?
控制台中只打印异常名称(甚至不打印异常消息):
> Task :keyboard:linuxX64Test FAILED
com.github.animeshz.keyboard.NativeKeyboardHandlerTest.Caps lock key should be toggled when KeyDown event is triggered FAILED
kotlin.IllegalStateException
com.github.animeshz.keyboard.NativeKeyboardHandlerTest.Test send and receive event FAILED
kotlin.IllegalStateException
我现在不知道如何调试这个,当我没有(想要安装)Intellij 在多个目标上(在 VM 上)测试库时。
最佳答案
您需要定义 testLogging
对于每个测试任务类型,因为您目前只为 JVM 定义它,类似的东西应该在您的 build.gradle.kts
中工作。 :
tasks {
val jvmTest by getting(Test::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
exceptionFormat = TestExceptionFormat.FULL
showStandardStreams = true
showStackTraces = true
}
}
val linuxTest by getting(KotlinNativeTest::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
exceptionFormat = TestExceptionFormat.FULL
showStandardStreams = true
showStackTraces = true
}
}
val jsNodeTest by getting(KotlinJsTest::class) {
testLogging {
events("PASSED", "FAILED", "SKIPPED")
exceptionFormat = TestExceptionFormat.FULL
showStandardStreams = true
showStackTraces = true
}
}
}
关于Kotlin/Multiplatform 如何在控制台上查看测试的 stdout/stderr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65573633/