模拟假客户端不替换Spring Boot 2.3.3.0版本中的应用程序假客户端

模拟假客户端不替换Spring Boot 2.3.3.0版本中的应用程序假客户端,spring,spring-boot,spring-cloud-feign,feign,Spring,Spring Boot,Spring Cloud Feign,Feign,从Spring boot 2.2.2升级到2.3.3后,测试中的外部客户端不会被替换。 模拟bean似乎是实例化的,但它并不替换应用程序提供的实际假客户端 SpringCloudStarter openfeign版本:2.2.5.0发布 spring启动版本:2.3.3.0版本 spring版本:5.2.8.0版本 我已经发现与这句话相关的问题已经解决了,但对我来说,它似乎并没有取代真正的假装客户。 对于ApplicationTestConfig,我有如下内容 @EntityScan(bas

从Spring boot 2.2.2升级到2.3.3后,测试中的外部客户端不会被替换。 模拟bean似乎是实例化的,但它并不替换应用程序提供的实际假客户端

SpringCloudStarter openfeign版本:2.2.5.0发布

spring启动版本:2.3.3.0版本

spring版本:5.2.8.0版本

我已经发现与这句话相关的问题已经解决了,但对我来说,它似乎并没有取代真正的假装客户。

对于ApplicationTestConfig,我有如下内容

@EntityScan(basePackages = "somepackage")
@ComponentScan(basePackages = "somepackage")
@IntegrationComponentScan(basePackages = "somepackage")
@Profile("test")
class ApplicationTestConfig {

    DetachedMockFactory factory = new DetachedMockFactory()

    @Bean
    SomeResource someResource() {
        factory.Mock(someResource)
    }
}
我发现一个解决方法是设置假客户端(primary=false),它似乎工作正常,但我认为这不是一个解决方案

如果这仍然是2.3.3中的问题,您有什么想法吗

@EntityScan(basePackages = "somepackage")
@ComponentScan(basePackages = "somepackage")
@IntegrationComponentScan(basePackages = "somepackage")
@Profile("test")
class ApplicationTestConfig {

    DetachedMockFactory factory = new DetachedMockFactory()

    @Bean
    SomeResource someResource() {
        factory.Mock(someResource)
    }
}