java - 使用 Maven 插件进行 MockServer 分析 - 输出为 Java

标签 java maven mocking mockserver

我想使用MockServer analysisdumpToLogAsJava 模式下,让它打印我拥有的 HTTP 服务的 java 格式的期望。

此外,我想使用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 上填写了一个问题

最佳答案

缺少的部分是您需要在执行您感兴趣的请求后转储期望。 我的印象是,这是一个您启用的功能,然后 Mockserver 会立即转储期望。

无论如何,这是一种丑陋的方法:

    ClientAndProxy client = ClientAndProxy.startClientAndProxy(18080);
    Runtime.getRuntime().addShutdownHook(new Thread() {
        @Override
        public void run() {
            client.dumpToLogAsJava();
        }
    });

关于java - 使用 Maven 插件进行 MockServer 分析 - 输出为 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37685731/

相关文章:

java - JPA:带有 BLOB 列的 'SELECT DISTINCT'

java - Maven 测试阶段的 list 文件

Java NIO FileChannel - 从 Android TUN 网络接口(interface)读取空值

java - 选项出现在 JMenu 上

java - Try/Catch 和循环控制

java - Maven 的 Jersey 问题 - Shade 插件

java - Maven:运行程序的生命周期阶段?

groovy - 如何使用属性在mockservice SOAPUI中创建资源路径

c# - 确定一个可靠的模式来抽象网络层以实现可测试性

java - 使用 querydsl 模拟数据库查询 - 可选问题