如何对 Feign 客户端进行单元测试 (Unit Test)

# 简介

本文将演示如何在以下约束条件下对 Feign 客户端进行测试:

  • 没有降级处理的 Feign 客户端
  • 单元测试需要通过
  • 应用本身需要能顺利启动

# 适用场景

  • 验证依赖的第三方服务是否可以被访问.
  • 验证是否按要求访问被依赖的第三方服务.

# 定义一个 Feign 客户端:

/src/main/dev/dengchao/SearchEngineForUnitTest.java:

@FeignClient(value = "search-engine-for-unit-test", url = "https://cn.bing.com")
interface SearchEngineForUnitTest {

    @GetMapping("/")
    void index();
}

# 编写单元测试

/src/test/dev/dengchao/SearchEngineUnitTests.java:

@SpringBootTest
public class SearchEngineUnitTests {

    @Autowired
    private SearchEngineForUnitTest searchEngineForUnitTest;

    @Test
    void test() {
        searchEngineForUnitTest.index();
    }
}

# 小结

Feign 客户端进行单元测试没有什么特别需要注意的地方, 类似于对 ComponentService 对象进行单元测试.

相关代码已发布至 GitHub: Spring Cloud OpenFeign Test Demo (opens new window)

# 推广

欢迎加入 Spring Cloud 交流群: 617143034 (opens new window)

欢迎大家点击下方的图片领取限量 阿里云优惠券 (opens new window), 新购续费更优惠: 限量阿里云优惠券 (opens new window)