You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Micronaut与Kotlin的Gradle项目如何分离单元和集成测试

问题原因

自定义的intTest集成测试源集未配置Micronaut注解处理器支持,kapt没有对集成测试代码中的@MicronautTest注解进行处理,无法生成对应的Bean定义,导致运行报错。

具体修改步骤

你需要对build.gradle.kts做三处修改:

  1. 给集成测试源集配置kapt注解处理器继承关系,在你现有configurations配置块后新增以下配置:
val kaptIntTest: Configuration by configurations.getting {
    extendsFrom(configurations.kaptTest.get())
}
  1. 告知Micronaut插件需要处理intTest源集的注解,修改micronaut配置块,新增additionalSourceSets配置:
micronaut {
    runtime("netty")
    testRuntime("junit5")
    processing {
        incremental(true)
        annotations("com.example.*")
        // 新增这行,指定Micronaut处理集成测试源集的注解
        additionalSourceSets.add(sourceSets.getByName("intTest"))
    }
}
  1. 给集成测试的Kotlin编译任务指定JVM版本,和主代码、单元测试保持一致,修改tasks块中的编译配置:
tasks {
    compileKotlin {
        kotlinOptions {
            jvmTarget = "11"
        }
    }
    compileTestKotlin {
        kotlinOptions {
            jvmTarget = "11"
        }
    }
    // 新增集成测试的Kotlin编译配置
    compileIntTestKotlin {
        kotlinOptions {
            jvmTarget = "11"
        }
    }
}

修改完成后重新执行构建任务,集成测试即可正常运行。


内容的提问来源于stack exchange,提问作者Krešimir Nesek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 16:45:08