gpt4 book ai didi

java - 如何在 Spring Boot 中模拟 Optional bean?

转载 作者:行者123 更新时间:2023-12-04 10:31:32 28 4
gpt4 key购买 nike

在我的 SpringBootApplication , 我有一个 bean它注入(inject)另一个可选bean(如下所示)

@Service
public class A {

//B is another @Component from one of the dependencies
private Optional<B> b;
...
...
}

我正在为 class A 编写集成测试我需要 @MockBean Optional<B> b .然而自从 Optional是最后一个类,spring mockito 引发以下错误

Cannot mock/spy class java.util.Optional - final class



有没有解决的办法?任何帮助深表感谢。

最佳答案

您可以使用 Optional.of(b) .

如果你使用带有注解的 mockito,那么你不能使用 @InjectMocks因为您的可选项不会以 mockito 闻名。您必须创建您的服务 A你自己。像这样的东西:

@RunWith(MockitoJUnitRunner.class)
public class ATest {
@Mock
private B b;

private A a;

@Before
public void setup() {
a = new A(Optional.of(b));
}
}

关于java - 如何在 Spring Boot 中模拟 Optional bean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60401256/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com