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

求助:Dokka未生成测试包文档(Gradle Kotlin DSL环境)

解决Dokka生成测试代码文档提示“Nothing to document”的问题

Dokka默认仅扫描main源码集,要生成测试包的HTML文档,需要手动配置任务包含测试源码集,以下是两种可行方案:

方案1:扩展现有dokkaHtml任务,同时生成主源码和测试源码文档

在build.gradle.kts中添加如下配置:

plugins {
    kotlin("jvm") version "1.9.20" // 替换为你的Kotlin版本
    id("org.jetbrains.dokka") version "1.9.20" // 保持与Kotlin版本兼容
}

tasks.dokkaHtml {
    dokkaSourceSets {
        // 保留主源码集配置(若无需可省略)
        named("main") {
            displayName.set("Main")
        }
        // 添加测试源码集
        create("test") {
            // 指定测试代码的源目录
            sourceRoots.from(project.sourceSets.test.get().kotlin.sourceDirectories)
            // 设置测试文档在输出中的显示名称
            displayName.set("Test")
            // 可选:配置源码链接(若需关联远程仓库代码)
            // sourceLink {
            //     localDirectory.set(project.file("src/test/kotlin"))
            //     remoteUrl.set(URI.create("https://github.com/your-username/your-repo/blob/main/src/test/kotlin/"))
            //     remoteLineSuffix.set("#L")
            // }
        }
    }
}

运行./gradlew dokkaHtml后,输出的HTML文档会包含主源码和测试源码的内容,可在build/reports/dokka/html/index.html中查看。

方案2:创建独立任务专门生成测试代码文档

如果只想单独生成测试代码的文档,可注册一个独立的dokkaHtmlTest任务:

tasks.register<org.jetbrains.dokka.gradle.DokkaHtmlTask>("dokkaHtmlTest") {
    description = "生成测试源码的HTML文档"
    group = "Documentation"

    dokkaSourceSets {
        create("test") {
            sourceRoots.from(project.sourceSets.test.get().kotlin.sourceDirectories)
            displayName.set("Test")
        }
    }
}

运行./gradlew dokkaHtmlTest即可,输出路径为build/reports/dokka/htmlTest/index.html。

额外注意事项

  • 确保测试代码中的注释是标准KDoc格式:使用/** ... */包裹,单行或多行均可,//或普通/* ... */注释不会被Dokka识别。
  • 检查测试源码集路径是否正确:默认路径为src/test/kotlin,若你的测试代码在自定义路径,需调整sourceSets.test.get().kotlin.sourceDirectories指向对应目录。
  • 保持Dokka与Kotlin版本兼容:建议使用与当前Kotlin版本匹配的Dokka版本,避免出现兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:05:18