【发布时间】:2022-10-24 01:58:35
【问题描述】:
按类型注册时,上下文中任何现有的匹配类型(包括子类)的单个 bean 都将被 mock 替换
但是,如果被测服务在构造函数中自动装配怎么办?例如。在 Kotlin 中(我想
@MockkBean和@MockBean对于 DI 的工作方式相同):@RunWith(SpringRunner.class) class ExampleTests @Autowired constructor(val userOfService: UserOfService) { @MockkBean private lateinit var service: ExampleService ... }我希望这个例子会失败,因为为了实例化
ExampleTests,Spring 必须首先获得一个正确的UserOfService实例。不过,这在当时是不可能的,因为在应用程序上下文中还没有ExampleService类型的 bean。出乎我的意料,这行得通。这怎么可能?
【问题讨论】:
标签: spring dependency-injection mockito spring-boot-test mockk