如何在春季启动时模拟可选的Bean?
来源:爱站网时间:2021-09-16编辑:网友分享
在我的SpringBootApplication中,我有一个Bean,它注入另一个可选的Bean(如下所示)@Service公共类A {// B是依赖项私有中的另一个@Component ...
问题描述
在我的SpringBootApplication
中,有一个bean
注入了另一个可选bean(如下所示)
@Service
public class A {
//B is another @Component from one of the dependencies
private Optional b;
...
...
}
我正在为class A
@MockBean
编写集成测试。但是,由于Optional b
是最后一堂课,因此Spring Mockito会引发以下错误
无法模拟/间谍类java.util.Optional-期末班
有没有解决的办法?非常感谢您的帮助。
解决方法:
您可以使用Optional
。
如果您将带有注释的嘲笑与否一起使用,则您无法使用Optional.of(b)
,因为您的可选选项不会被嘲弄为已知。您必须自己创建服务@InjectMocks
。像这样的东西:
A