WireMock-单测中的神器
3.WireMock
WireMock是一个开源的测试工具,支持HTTP响应存根、请求验证、代理/拦截、记录和回放。最直接的用法:
- 为Web/移动应用构建Mock Service
- 快速创建Web API原型
- 模拟Web Service中错误返回
- 录制HTTP请求和回放
一般写测试用例的时候需要访问到服务端,如果使用wireMock模拟一个服务端,针对指定的请求返回指定的数据,就能跑完整个流程而不依赖服务端的开启。
-
引入依赖
<dependency> <groupId>com.github.tomakehurst</groupId> <artifactId>wiremock</artifactId> <version>2.12.0</version> </dependency>
-
代码实战
@Rule public WireMockRule wireMockRule = new WireMockRule(WireMockConfiguration.options().port(8888).httpsPort(8889)); @Test public void should_get_hello() throws Exception { stubFor(get(urlEqualTo("/hello")) .willReturn(aResponse() .withHeader("Content-Type", "text/plain") .withBody("Hello world!"))); ResponseEntity<String> response = template.getForEntity(String.format("http://localhost:%s/", port), String.class); assertThat(response.getBody(), is("Hello world!")); }
参考:
本文来自博客园,作者:orangeScc,转载请注明原文链接:https://www.cnblogs.com/ashScc/p/15669252.html