我正在使用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
有什么方法可以做到这一点吗?提前谢谢。
发布于 2020-02-04 01:27:54
你只需要定义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>https://stackoverflow.com/questions/55736221
复制相似问题