SpringBoot 3.4.0 中已弃用的 @MockBeans 的替代品是什么?

问题描述 投票:0回答:1

我们为测试定义了一个注释,以避免为所有测试类声明 Mockito Mocks。

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@MockBeans({
        @MockBean(ServiceA.class), @MockBean(ServiceB.class), @MockBean(ServiceC.class)
})
public @interface MyMocksTest {

}

这完全没问题,因为我们不需要为我们的模拟服务声明任何行为。我们只是希望他们被嘲笑。

从 SpringBoot 3.4.0 开始,@MockBean 和 @MockBeans 已被弃用,两者都表示使用新的 @MockitoBean 注解。但是新的注释不能用于类型,并且没有@MockitoBeans注释。

我不想在每个类中将所有模拟声明为bean,因为上面的列表只是一个示例,但我们实际上定义了超过20个模拟。

如何在不使用已弃用的 @MockBeans 注释的情况下获得相同的行为?

spring spring-boot mockito
1个回答
4
投票

目前你不知道但它在列表中。另请参阅此相关问题Spring Boot 文档请求

所以暂时使用已弃用的注释,它们直到 3.5/4.0 才会被删除,我希望现在它会继续工作。

© www.soinside.com 2019 - 2024. All rights reserved.