사용자 도구

사이트 도구


java:mock_server

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:mock_server [2018/05/08 17:40]
kwon37xi
java:mock_server [2023/01/02 14:30] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Mock Server ====== ====== Mock Server ======
   * http://www.mock-server.com/   * http://www.mock-server.com/
 +  * [[network:test|Network simulation test]]
 +  * refer [[java:wiremock|java:wiremock]]
 +  * refer [[network:toxiproxy|toxiproxy]]
 +  * [[network:hoverfly|hoverfly]]
 +  * [[rest_api:json_server|Json Server]]
   * [[http://www.baeldung.com/mockserver|Introduction to MockServer]]   * [[http://www.baeldung.com/mockserver|Introduction to MockServer]]
 +  * [[https://www.mock-server.com/mock_server/getting_started.html|Getting Started]]
 +  * [[https://www.mock-server.com/mock_server/running_mock_server.html|Mock Server 의 다양할 실행방법]] JUnit 으로 띄우기등.
  
 ===== 기본 개념 ===== ===== 기본 개념 =====
줄 8: 줄 15:
   * 또한 Mock Server에 일부는 가상 요청/응답으로 하고, 나머지 일부는 실제 API 서버로 요청을 Proxy 하도록 처리도 가능하다.   * 또한 Mock Server에 일부는 가상 요청/응답으로 하고, 나머지 일부는 실제 API 서버로 요청을 Proxy 하도록 처리도 가능하다.
  
-===== Java Client =====+===== Server ===== 
 +  * 기본적으로 Netty 기반 Java application 이며 
 +  * 이를 통합 jar 실행, Maven plugin, npm, war(Tomcat에 올려 띄우기), Java Test code내에서 띄웠다 테스트 끝나면 종료, docker 등을 통한 서버 띄우기가 가능하다. 
 +  * 간단한 Jar를 통한 실행 - 사이트에서 jar 다운로드 받고서<code> 
 +java -Dmockserver.logLevel=INFO -jar mockserver-netty-5.3.0-jar-with-dependencies.jar -serverPort 1080 
 +</code> 
 +===== Client ===== 
 +  * Java, node.js, REST API 등을 지원한다. 
 +  * client로 expectation 정의, verification, reset(cleansing) 등을 수행할 수 있다. 
 + 
 +==== Java Client ====
   * ''org.mockserver.client.server.MockServerClient'' : 원격 MockServer 인스턴스에 접속하여 expectation을 선언하는 Client Class   * ''org.mockserver.client.server.MockServerClient'' : 원격 MockServer 인스턴스에 접속하여 expectation을 선언하는 Client Class
   * ''org.mockserver.integration.ClientAndServer'': 로컬 MockServer 인스턴스를 생성하고 여기에 expectation을 선언하고 요청을 날린다.   * ''org.mockserver.integration.ClientAndServer'': 로컬 MockServer 인스턴스를 생성하고 여기에 expectation을 선언하고 요청을 날린다.
 +  * 간단한 expectation 작성 - Mock Server를 띄우고 아래 코드를 실행한 뒤에 http://localhost:1080/hello 요청을 하면 3초 뒤에 "World!!시간" 응답이 온다.<code java>
 +import static org.mockserver.model.HttpRequest.request;
 +org.mockserver.model.HttpResponse#response()
 +new MockServerClient("localhost", 1080)
 +    .when(
 +            request()
 +            .withMethod("GET")
 +            .withPath("/hello")
 +         )
 +    .respond(
 +            response()
 +            .withDelay(TimeUnit.SECONDS, 3)
 +            .withBody("World!!" + LocalDateTime.now())
 +            );
 +
 +</code>
  
 +==== 참조 ====
 +  * [[https://www.baeldung.com/mockserver|Introduction to MockServer | Baeldung]]
  
java/mock_server.1525768809.txt.gz · 마지막으로 수정됨: 2018/05/08 17:40 저자 kwon37xi