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

Kotlin项目:如何在Dokka HTML输出中展示测试代码?

解决Dokka无法生成测试代码HTML文档的问题

你之前的配置无效,核心原因是默认情况下Dokka不会自动创建test源码集,直接调用named("test")只会尝试修改已存在的源码集,自然不会生效。以下是可生效的配置方案:

1. 确保Dokka插件正确应用

先确认build.gradle.kts中已引入匹配版本的Dokka插件(版本需与Kotlin版本兼容):

plugins {
    kotlin("jvm") version "1.9.0" // 替换为你的项目Kotlin版本
    id("org.jetbrains.dokka") version "1.9.10" // 保持与Kotlin版本同大版本
}

2. 正确配置Test源码集

使用create("test")显式创建测试源码集,而非直接修改不存在的集:

tasks.dokkaHtml.configure {
    dokkaSourceSets {
        // 保留主源码集配置(可选,若不需要可删除)
        named("main") {
            displayName.set("Main")
        }

        // 创建并配置Test源码集
        create("test") {
            // 指定测试代码根目录
            sourceRoots.from(file("src/test/kotlin"))
            // 允许收录非公开元素(测试代码常包含internal/private方法)
            includeNonPublic.set(true)
            // 明确指定要收录的可见性范围
            documentedVisibilities.set(
                setOf(
                    org.jetbrains.dokka.DokkaConfiguration.Visibility.PUBLIC,
                    org.jetbrains.dokka.DokkaConfiguration.Visibility.PROTECTED,
                    org.jetbrains.dokka.DokkaConfiguration.Visibility.INTERNAL,
                    org.jetbrains.dokka.DokkaConfiguration.Visibility.PRIVATE
                )
            )
            // 在文档侧边栏显示的名称
            displayName.set("Tests")
            // 可选:让Test文档依赖Main文档,确保跨集引用能正常解析
            dependsOn(named("main"))
        }
    }
}

3. 关键验证步骤

  • 检查路径有效性:确认src/test/kotlin是项目中测试代码的实际根目录,多模块项目需调整为project(":你的模块名").file("src/test/kotlin")
  • 同步Gradle配置:在IntelliJ中点击右上角的「Sync Project with Gradle Files」按钮,确保配置被IDE加载
  • 执行正确任务:运行命令./gradlew dokkaHtml(Windows用gradlew.bat dokkaHtml),生成的文档会在build/dokka/html目录下
  • 版本兼容性:避免Kotlin与Dokka版本跨大版本(比如Kotlin 1.8搭配Dokka 1.9),版本不匹配可能导致配置失效

内容的提问来源于stack exchange,提问作者33NZ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:33:23