首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧引导WebTestClient全集成测试

弹簧引导WebTestClient全集成测试
EN

Stack Overflow用户
提问于 2018-12-09 14:47:06
回答 1查看 421关注 0票数 0

我想使用WebTestClient来执行完整的集成测试。

我的测试很简单:

代码语言:javascript
复制
@Test
public void createPostTest() {
    Post post = new Post("someUserId", "Kim", "Gysen",
            "Some text", "http://zwoop.be/imagenr",
            "googlePlaceId", "googlePlaceName", new Geolocation(50, 50));

    webTestClient.post().uri(BASE_URI)
            .contentType(MediaType.APPLICATION_JSON_UTF8)
            .accept(MediaType.APPLICATION_JSON_UTF8)
            .body(Mono.just(post), Post.class)
            .exchange()
            .expectStatus().isCreated()
            .expectHeader().contentType(MediaType.APPLICATION_JSON_UTF8)
            .expectBody()
            .jsonPath("$._id").isNotEmpty()
            .jsonPath("$.userId").isEqualTo(post.getUserId())
            .jsonPath("$.firstName").isEqualTo(post.getFirstName())
            .jsonPath("$.lastName").isEqualTo(post.getLastName())
            .jsonPath("$.postText").isEqualTo(post.getPostText())
            .jsonPath("$.postImageUri").isEqualTo(post.getPostImageUri())
            .jsonPath("$.location.latitude").isEqualTo(post.getLocation().getX())
            .jsonPath("$.location.longitude").isEqualTo(post.getLocation().getY());

// Verify whether the post has properly been stored in db / cache 
}

我的问题是,是否有办法:

  • 提供一个回调,使我可以作为一个整体获得json结果,以验证该对象是否正确地存储在我的数据库和缓存中;
  • 使此方法阻塞,以便以后验证结果。
EN

回答 1

Stack Overflow用户

发布于 2018-12-09 15:00:44

以下几点似乎有效:

代码语言:javascript
复制
    FluxExchangeResult<Post> res = webTestClient.post().uri(BASE_URI)
            .contentType(MediaType.APPLICATION_JSON_UTF8)
            .accept(MediaType.APPLICATION_JSON_UTF8)
            .body(Mono.just(post), Post.class)
            .exchange()
            .returnResult(Post.class);

    Post retPost = res.getResponseBody().blockFirst();

这意味着之后我必须手动验证结果。

如果你有更好的选择,这仍然是受欢迎的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53693477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档