2017-01-24 8 views
0

Я использую Spring MVC и Spring Test suite (Spring REST Docs), и мне интересно, есть ли способ установить значения атрибутов в adoc-файле asciidoctor при создании MockMvc с MockMvcBuilders?Установка значений атрибутов в asciidoctor в здании Spring MockMvc

Например, у меня есть в index.adoc

: myAttribute:

и хотите динамически установить его во MockMvc здании?

: myAttribute: MyValue

Я вижу в документации asciidoctor:

По умолчанию приоритета присвоения атрибута, от самого высокого до низких, заключается в следующем:

Attribute passed to the API or CLI 

Attribute defined in the document 

Default value 

И мне интересно, как передать его API :-)

ответ

0

Есть два способа, которыми я могу думать, что вы можете это сделать. В обоих случаях вы должны записать пары ключ-значение атрибута в файл при выполнении своих тестов. Затем вам нужно отправить их в Аскейдоктор.

Одним из способов получить их в Asciidoctor будет обновление конфигурации сборки для чтения в файле, а затем установка атрибутов. Я подозреваю, что это будет возможно только в том случае, если вы используете Gradle. Вы можете написать немного Groovy для чтения в парах ключ-значение и добавить их на карту attributes задачи asciidoctor.

Другим способом было бы написать расширение AsciidoctorJ, которое читает в файле, содержащем пары ключ-значение, и устанавливает атрибуты. Этот подход будет работать с Maven или Gradle. В документации содержится example, в которой показано, как использовать Preprocessor для установки атрибута.

+0

Привет, Энди, и спасибо за ответ. Я соглашусь на это как на правильное, хотя я отказался от использования этого подхода. Оказывается, у меня будут разные POM-модули maven для развертывания, и я могу легко установить атрибут через «asciidoctor-maven-plugin», используя значение « <имяOfAttrInAdoc> атрибута attr», поэтому он не будет много хлопот. :-) – Harry