Kotest 无法在 IntelliJ 中正确运行

我正在使用 Gradle 和 IntelliJ 中的 Kotest 来测试新项目;

这些是我在 gradle 构建文件中的版本配置:

    ext.kotlin_version = '1.5.10'
    ext.kotest_version = '4.6.0'
    ext.kotest_spring_version = '4.4.3'

我的依赖:

    // KotlinTest
    testImplementation("io.kotest:kotest-assertions-core:$kotest_version")
    testImplementation("io.kotest:kotest-property:$kotest_version")
    testImplementation("io.kotest:kotest-runner-junit5:$kotest_version")
    testImplementation("io.kotest.extensions:kotest-assertions-kotlinx-datetime-jvm:1.0.0")
    testImplementation("io.kotest.extensions:kotest-extensions-spring:1.0.0")

和插件:

id("io.kotest") version "0.3.8"

这在 Gradle 中一切正常。但是我有来自 IntelliJ 的奇怪行为。 我的 IntelliJ 版本是 IntelliJ IDEA 2021.1.2 (Ultimate Edition)。插件是kotest-plugin-intellij (1.1.36-IC-2021.1)

所以我的行为是,从方法上的测试类我可以按下运行图标,它将开始一个测试(或者至少看起来像)但仅仅一秒钟后它就成功完成了但没有执行测试。 例如,一个简单的测试用例是这样的(测试类扩展 WordSpec):

    init {
        "Ping" should {
            "Basic ping test" {
                mockMvc.perform(
                    get("/rest/v1/ping")
                        .contentType("application/json")
                        .content("")
                ).andExpect(status().isOk());
            }
        }

    }

我没有看到 Ping 和 next Basic ping test 都已执行,我只能看到 Ping 已成功执行,真正的测试从未进行过。即使我故意让该测试失败,Gradle 也会失败,但 IntelliJ 会告诉我一切正常...

但是如果我尝试运行整个包,它确实有效。所以在包上右键,然后运行,然后我选择带有Kotest绿色标志的选项,然后所有测试都开始执行,也是我上面粘贴的。

我该怎么做才能解决这个问题?这是版本不匹配吗(但是我是最新的)? 我也尝试过降级,但这变得很混乱,因为我必须降级 Gradle 版本、Kotlin 版本和 Gradle 插件版本......然后根据配置,尝试从 Gradle 构建时开始出现其他奇怪的错误......

pandora1020 回答:Kotest 无法在 IntelliJ 中正确运行

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/204115.html

大家都在问