【发布时间】:2020-12-02 00:12:17
【问题描述】:
我已经设置了一个 kotlin 多平台项目并想运行 junit 测试。
但是一个
gradle clean build
只是交付:
Kotlin Multiplatform Projects are an experimental feature.
BUILD SUCCESSFUL in 1s
9 actionable tasks: 9 executed
这是我的 build.gradle:
buildscript {
ext.kotlin_version = '1.4.0-rc'
}
plugins {
id 'org.jetbrains.kotlin.multiplatform' version "$kotlin_version"
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
kotlin {
jvm {
withJava()
}
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib-common')
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib-jdk8')
}
}
jvmTest {
dependencies {
implementation kotlin('test')
implementation kotlin('test-junit')
implementation 'io.kotlintest:kotlintest-runner-junit5:3.3.2'
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
implementation "org.junit.jupiter:junit-jupiter-engine:5.5.2"
implementation "org.junit.jupiter:junit-jupiter-api:5.5.2"
implementation "org.junit.jupiter:junit-jupiter-params:5.5.2"
}
}
}
}
这是我的测试(位于 src/jvmTest/kotlin):
import org.junit.jupiter.api.Test
class JvmTest {
@Test
fun testX() {
println("Hello World")
println("Hello World")
println("Hello World")
println("Hello World")
println("Hello World")
}
}
我希望有 Hello World 的输出,但如您所见,没有输出。
我必须改变什么,测试执行?或者它是否被执行并且输出只是没有显示?我该怎么做才能看到测试的输出?
我也尝试过 kotlin 版本 1.3.72。结果一样。
编辑:我将测试更改为
import junit.framework.TestCase.assertTrue
import org.junit.jupiter.api.Test
class JvmTest {
@Test
fun testX() {
assertTrue(false)
}
}
同样的结果,构建运行成功,没有执行任何测试。 build/reports/tests 中没有文件
【问题讨论】:
标签: kotlin kotlin-multiplatform