문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
java:mock_server [2018/05/08 12:13] kwon37xi 만듦 |
java:mock_server [2023/01/02 14:30] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Mock Server ====== | ====== Mock Server ====== | ||
| * http:// | * http:// | ||
| - | * [[http:// | + | |
| + | * refer [[java: | ||
| + | * refer [[network: | ||
| + | * [[network: | ||
| + | * [[rest_api: | ||
| + | | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== 기본 개념 ===== | ||
| + | * 별도의 Mock Server를 별도로 띄워놓고 Application에서 가상의 요청/ | ||
| + | * 혹은 Java Application의 경우 아예 테스트 코드 시작시 Mock 서버를 띄우고 테스트 진행후 서버도 내려버릴 수 있다. | ||
| + | * 또한 Mock Server에 일부는 가상 요청/ | ||
| + | |||
| + | ===== Server ===== | ||
| + | * 기본적으로 Netty 기반 Java application 이며 | ||
| + | * 이를 통합 jar 실행, Maven plugin, npm, war(Tomcat에 올려 띄우기), Java Test code내에서 띄웠다 테스트 끝나면 종료, docker 등을 통한 서버 띄우기가 가능하다. | ||
| + | * 간단한 Jar를 통한 실행 - 사이트에서 jar 다운로드 받고서< | ||
| + | java -Dmockserver.logLevel=INFO -jar mockserver-netty-5.3.0-jar-with-dependencies.jar -serverPort 1080 | ||
| + | </ | ||
| + | ===== Client ===== | ||
| + | * Java, node.js, REST API 등을 지원한다. | ||
| + | * client로 expectation 정의, verification, | ||
| + | |||
| + | ==== Java Client ==== | ||
| + | * '' | ||
| + | * '' | ||
| + | * 간단한 expectation 작성 - Mock Server를 띄우고 아래 코드를 실행한 뒤에 http:// | ||
| + | import static org.mockserver.model.HttpRequest.request; | ||
| + | org.mockserver.model.HttpResponse# | ||
| + | new MockServerClient(" | ||
| + | .when( | ||
| + | request() | ||
| + | .withMethod(" | ||
| + | .withPath("/ | ||
| + | ) | ||
| + | .respond( | ||
| + | response() | ||
| + | .withDelay(TimeUnit.SECONDS, | ||
| + | .withBody(" | ||
| + | ); | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== 참조 ==== | ||
| + | * [[https:// | ||