Mockserver maven 插件:从文件初始化模拟服务器期望
Mockserver maven plugin: init mockserver expectations from file
我正在使用 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>
...
这里的问题是我必须使用 class (com.mycompany.ExampleInitializationClass
) 提供期望,我想使用 JSON 文件提供期望,如下所述:
http://www.mock-server.com/mock_server/initializing_expectations.html
我没有在插件配置中找到任何方法来使用 属性:
初始化 Mockserver
-Dmockserver.initializationJsonPath
有什么办法可以实现吗?提前致谢。
您只需要定义 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>
我正在使用 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>
...
这里的问题是我必须使用 class (com.mycompany.ExampleInitializationClass
) 提供期望,我想使用 JSON 文件提供期望,如下所述:
http://www.mock-server.com/mock_server/initializing_expectations.html
我没有在插件配置中找到任何方法来使用 属性:
初始化 Mockserver-Dmockserver.initializationJsonPath
有什么办法可以实现吗?提前致谢。
您只需要定义 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>