在Spring的MockMvc构建期间设置asciidoctor中的属性值

时间:2017-01-24 12:40:29

标签: java spring-mvc spring-test asciidoctor spring-restdocs

我正在使用Spring MVC和Spring Test套件(Spring REST Docs),我想知道在使用MockMvcBuilders构建MockMvc期间有没有办法在asciidoctor adoc文件中设置属性值?

例如我有index.adoc

:myAttribute:

并希望在MockMvc构建期间动态设置它?

:myAttribute:myValue

我在asciidoctor文档中看到:

  

默认情况下,属性分配优先级,从最高到   最低,如下:

Attribute passed to the API or CLI

Attribute defined in the document

Default value

我想知道如何将它传递给API: - )

1 个答案:

答案 0 :(得分:0)

我可以想到两种方法可以做到这一点。在这两种情况下,您在运行测试时都会将属性键值对写入文件中。然后你需要让他们进入Asciidoctor。

让他们进入Asciidoctor的一种方法是更新你的构建配置以读入文件,然后设置属性。我怀疑只有你使用Gradle才能实现这一点。您可以编写一些Groovy来读取键值对,并将它们添加到attributes任务的asciidoctor映射中。

另一种方法是编写一个AsciidoctorJ扩展,读取包含键值对的文件并设置属性。这种方法适用于Maven或Gradle。文档中有example,其中显示了如何使用Preprocessor设置属性。