我们为测试定义了一个注释,以避免为所有测试类声明 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 Boot 文档请求
所以暂时使用已弃用的注释,它们直到 3.5/4.0 才会被删除,我希望现在它会继续工作。