我有这个界面
public interface MQTTClient {
public void prepareAndSend(String recipient, String message);
}
出于测试目的,我想制作一个这样的配置类
@Configuration
public class TestServiceConfig {
@Bean
public MQTTClient mqttClient() {
return new {
public class MQTTClientImpl implements MQTTClient {
@Override
public void prepareAndSend(String recipient, String message) {
// TODO Auto-generated method stub
}
}
}
}
}
但我不知道这是否可能
最佳答案
当然可以,通常有3种方法可以做到这一点:
像您所做的那样,自己实现它,您可能需要@Primary
以确保此弹簧加载。
您不需要自己实现它,可以考虑使用像Mockito
这样的模拟框架,您只需要这样做:
@Primary
@Bean
public MQTTClient mqttClient() {
return Mockito.mock(MQTTClient.class);
}
如果您使用的是
spring-boot
,则可以使用注释@MockBean
,因为版本1.4.x