前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 单元测试: HTTP --- WireMock

Java 单元测试: HTTP --- WireMock

作者头像
十毛
发布2019-03-27 15:39:25
1.7K0
发布2019-03-27 15:39:25
举报

pom.xml增加依赖

代码语言:javascript
复制
<dependency>
    <groupId>com.github.tomakehurst</groupId>
    <artifactId>wiremock</artifactId>
    <version>2.18.0</version>
    <scope>test</scope>
</dependency>

RemoteTest.java单元测试内容

代码语言:javascript
复制
public class RemoteTest {
    @Rule
    public WireMockRule wireMockRule = new WireMockRule(8089);

    @Before
    public void setUp() {
        wireMockRule.resetAll();
        WireMock.stubFor(WireMock.get(WireMock.urlEqualTo("/my/resource"))
                .willReturn(WireMock.aResponse()
                        .withStatus(200)
                        .withBody("hello world!")));
    }

    @Test
    public void test() throws Exception {
        final OkHttpClient client = new OkHttpClient();
        final Request request = new Request.Builder()
                .url("http://localhost:8089/my/resource")
                .get().build();
        try(Response response = client.newCall(request).execute()) {
            final String content = response.body().string();
            Assert.assertEquals("hello world!", content);
        }
    }
}

注意事项

  1. WireMock启动后,实际上就是一个web服务器,也可以使用postman或浏览器直接访问(当然要保证WireMock没有退出,比如可以在测试用例中使用Thread.sleep(10000)
  2. 配置信息也可以统一写在文件中Stubbing

参考资料

  1. WireMock Getting Started
  2. Stubbing

如果对你有一点帮助,麻烦为我点一个赞,如果没有帮助,也非常期待你的反馈

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.06.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意事项
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档