据我了解,Mockito @Mock 创建了一个带有空方法或方法的存根,否则它们会为每种类型返回一个默认对象。与包装实例的 @Spy 相反,这样您就可以使用实际的实现,但仍然可以模拟某些方法。
但是,我有一个代码,例如:
@Mock
private lateinit var context: Context
@Mock
private lateinit var mockConfig: ConfigUtil
每当我调试一个测试时,我context
就是一个Context@MockitoMock
实例,mockConfig
一个真实的ConfigUtil
实例,因此,调用任何mockConfig
方法都会执行真实的ConfigUtil
实现。
那么,Mockito 是否只有不在构建中的存根方法?(例如 Android 类)。
--- Q2 ---
在旨在测试真实方法实现的对象中使用 @Mock 是一种好习惯吗?或仅在实例使用的依赖项上。
换句话说,如果我创建了这个ConfigUtil
类,并且测试套件是针对那个类的,那么创建那个类的 @Mock 实例是否有意义?