首页 > 解决方案 > spring-rest-docs 无法使用 gradle kotlin 生成片段

问题描述

构建.gradle.kts

id("org.asciidoctor.convert") version "1.5.10"

val snippetsDir = file("build/generated-snippets").also { extra["snippetsDir"] = it }

dependencies {
    testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc")
}

tasks.test {
    outputs.dir(snippetsDir)
}

tasks.asciidoctor {
    inputs.dir(snippetsDir)
    dependsOn(tasks.test)
}
tasks.bootJar {
    dependsOn(tasks.asciidoctor)
    from("").into("")
}

和测试类是

@SpringBootTest
@AutoConfigureRestDocs
@AutoConfigureMockMvc
class TestControllerTest() {
    @Autowired lateinit var mockMvc: MockMvc
    
    @Test
    fun `test_getList`() { 
        mockMvc.get("/test") {
            header("userId",1)
            param("testId", "1")
        }.andExpect {
            status { isOk() }
        }.andDo {
            print()
        }.andDo {
            document("get-list")
        }
    }
}

Kotlin:1.4.20 Groovy:2.5.12 Ant:Apache Ant(TM) 版本 1.10.9 编译于 2020 年 9 月 27 日 JVM:11.0.10 (JetBrains sro 11.0.10+9)

预计,当您运行测试代码时,应该在 build/generated-snippets 文件夹下创建文件。运行测试后,或在构建任务或运行 asciidoctor 任务时不会创建任何文件。

任何关于我所缺少的建议将不胜感激。

标签: springkotlinspring-restdocs

解决方案


推荐阅读