Анализ MockServer с плагином Maven - вывод в виде Java
Я хотел бы использовать анализ MockServer в dumpToLogAsJava
режим, чтобы он напечатал в формате Java ожидания HTTP-службы у меня есть.
Более того, я бы хотел использовать для этого mockserver-maven-plugin.
До сих пор мне удавалось получить вывод в формате json, например так:
2016-06-07 19:10:46,348 DEBUG [main] org.mockserver.cli.Main [?:?]
Using command line options: proxyPort=18080
2016-06-07 19:10:46,623 INFO [MockServer HttpProxy Thread] org.mockserver.proxy.http.HttpProxy [?:?] MockServer proxy started on port: 18080
2016-06-07 19:10:46,626 DEBUG [MockServer HttpProxy Thread] o.m.c.ConfigurationProperties [?:?] Property file not found on classpath using path [mockserver.properties]
2016-06-07 19:10:46,626 DEBUG [MockServer HttpProxy Thread] o.m.c.ConfigurationProperties [?:?] Property file not found using path [mockserver.properties]
2016-06-07 19:11:01,838 DEBUG [nioEventLoopGroup-3-1] o.m.client.netty.NettyHttpClient [?:?] Sending request: {
"method" : "GET",
"path" : "/sources",
[...]
}
2016-06-07 19:11:02,180 DEBUG [nioEventLoopGroup-3-1] o.m.client.netty.NettyHttpClient [?:?] Received response: {
[...]
}
2016-06-07 19:11:02,220 INFO [nioEventLoopGroup-3-1] o.m.proxy.http.HttpProxyHandler [?:?] returning response:
{
[...]
}
for request as json:
{
[...]
}
as curl:
[...]
Добавив следующее в мой pom.xml
<plugin>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-maven-plugin</artifactId>
<version>3.10.4</version>
<configuration>
<proxyPort>18080</proxyPort>
<logLevel>DEBUG</logLevel>
</configuration>
<executions>
<execution>
<id>start-mock</id>
<phase>pre-integration-test</phase>
<goals>
<goal>runForked</goal>
</goals>
</execution>
<execution>
<id>stop-mock</id>
<phase>post-integration-test</phase>
<goals>
<goal>stopForked</goal>
</goals>
</execution>
</executions>
</plugin>
Я понятия не имею, как изменить выходной формат на Java без написания дополнительного кода Java (и даже тогда я не уверен, что именно мне придется написать).
PS. Я не могу получить дамп в формате Java вообще - я заполнил проблему на GH
1 ответ
Недостатком было то, что вам нужно сбросить ожидания после того, как интересующие вас запросы будут выполнены. У меня сложилось впечатление, что эту функцию вы включаете, а затем Mockserver сбрасывает ожидания на ходу.
Во всяком случае, вот один уродливый способ сделать это:
ClientAndProxy client = ClientAndProxy.startClientAndProxy(18080);
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
client.dumpToLogAsJava();
}
});