Установка значений атрибутов в asciidoctor во время сборки Spring MockMvc

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

Например у меня в index.adoc

:мойАтрибут:

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

:мойАтрибут: моеЗначение

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

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

Attribute passed to the API or CLI

Attribute defined in the document

Default value

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


person Harry    schedule 24.01.2017    source источник


Ответы (1)


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

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

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

person Andy Wilkinson    schedule 24.01.2017
comment
Привет, Энди, и спасибо за ответ. Я приму это как правильное, хотя я отказался от использования этого подхода. Оказывается, у меня будут разные POM maven для каждого развертывания, и я могу легко установить атрибут через asciidoctor-maven-plugin, используя теги «‹attributes›‹nameOfAttrInAdoc›Value of the attr‹/nameOfAttrInAdoc›‹/attributes›», так что это не будет особых хлопот. :-) - person Harry; 09.02.2017