与外部 API 通信的应用程序的集成测试

问题描述 投票:0回答:1

我有一个与外部 API 通信的 Spring Boot Web 应用程序,我需要为我的控制器编写一个集成单元测试用例 我正在使用 testWebClient

    webTestClient
        .get()
        .uri(uriBuilder -> uriBuilder.path("/my-application-api").build())
        .header(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
        .exchange()
        .expectStatus()
        .isOk()

my-application-api 存在于控制器类中,它是与外部 api 通信的方法 并进行一些操作

如果不使用像wiremock/mockserver这样的外部工具,我可以创建一个假服务器之类的东西并自己编写Mock API吗??

spring-boot unit-testing junit5 spring-boot-test
1个回答
0
投票

我最常使用的最简单方法是将外部 API 隐藏在外观后面,并在集成测试期间模拟该外观。

如果您担心取消一层集成,请在实际的外观实现中添加一组特征/契约测试。

© www.soinside.com 2019 - 2024. All rights reserved.