我们如何从Java启动模拟服务器以接收传入流量?

时间:2019-01-21 20:40:21

标签: java maven mockserver

我试图从Java启动一个模拟服务器,并使其保持运行状态,以接收来自其他来源(邮递员,CURL等)的传入请求。

我尝试了Junit方法,但是当单元测试完成时,服务器关闭了。 另一方面,运行独立版本 http://www.mock-server.com/mock_server/running_mock_server.html#running_from_command_line

使模拟服务器保持运行状态。

我想通过Java代码实现相同的目的。

问题是,如何使它运行并保持运行状态?

谢谢

3 个答案:

答案 0 :(得分:0)

那么您需要用于非测试目的的HTTP服务器吗?我会尝试使用Spring,类似:

@RestController
public class CatchAllController {

    @RequestMapping("/**")
    public String catchAll(HttpServletRequest request) {
        return request.getRequestURI();
    }
}

答案 1 :(得分:0)

在同一页面上有一个示例(“客户端API-启动和停止”段)。这段代码对我有用:


import static org.mockserver.integration.ClientAndServer.startClientAndServer;
import org.mockserver.integration.ClientAndServer;

public class Checker {

  public static void main(String[] args) {

    ClientAndServer mockServer = startClientAndServer(1080);

  }
}

您必须致电

mockServer.stop();

稍后将其停止。

您将需要以下maven依赖项:

<!-- mockserver -->
<dependency>
     <groupId>org.mock-server</groupId>
     <artifactId>mockserver-netty</artifactId>
     <version>5.5.1</version>
</dependency>

答案 2 :(得分:-1)

尝试使用Mockito。我使用Mockito模拟HTTP调用。