Плагин Mockserver maven: инициализация ожиданий mockserver от файла

Я использую плагин Mockserver maven, чтобы издеваться над некоторыми запросами на интеграционные тесты.

Мой pom.xml выглядит так:

        ...

        <plugin>
            <groupId>org.mock-server</groupId>
            <artifactId>mockserver-maven-plugin</artifactId>
            <version>5.5.1</version>
            <configuration>
                <serverPort>1080</serverPort>
                <logLevel>DEBUG</logLevel>
                <initializationClass>com.mycompany.ExampleInitializationClass</initializationClass>
            </configuration>
            <executions>
                <execution>
                    <id>run-mockserver</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop-mockserver</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        ...

Проблема здесь в том, что я должен предоставить ожидания, используя класс (com.mycompany.ExampleInitializationClass), и я хочу предоставить ожидания, используя файл JSON, как описано здесь:

http://www.mock-server.com/mock_server/initializing_expectations.html

Я не нашел в конфигурации плагина способа инициализировать Mockserver со свойством:

-Dmockserver.initializationJsonPath

Есть ли способ добиться этого? Заранее спасибо.


person italktothewind    schedule 17.04.2019    source источник


Ответы (1)


Вам просто нужно определить свойство initializationJson, указав путь к файлу JSON с ожиданиями:

<plugin>
    <groupId>org.mock-server</groupId>
    <artifactId>mockserver-maven-plugin</artifactId>
    <version>5.5.1</version>
    <configuration>
        <serverPort>1080</serverPort>
        <logLevel>DEBUG</logLevel>
        <initializationJson>expectations.json</initializationJson>
    </configuration>
    <executions>
        ...
    </executions>
</plugin>

Загвоздка здесь в том, что путь к файлу относится к каталогу testClasspath (например, ${project.basedir}/target/test-classes/), поэтому вам нужно скопировать файл ожидания туда. Вы можете использовать, например. maven-antrun-plugin для этого (как показано ниже) или maven-resources-plugin.

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <copy file="your/expectations.json" todir="${project.basedir}/target/test-classes/"/>
                </tasks>
            </configuration>
        </execution>
    </executions>
</plugin>
person KWierzbicki    schedule 03.02.2020