微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Kotest 无法在 IntelliJ 中正确运行

如何解决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 构建时开始出现其他奇怪的错误......

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。