我有一个View Model扩展AndroidViewModel
class MoveViewModel(application: Application): AndroidViewModel(application),CoroutineScope{
....
}
Run Code Online (Sandbox Code Playgroud)
我想对它进行单元测试,但我不知道如何模拟 Application 类
@Test
fun testSearchDataValidation() {
val application = Mockito.mock(Application::class.java)
val viewModel = MoveViewModel(application)
.....
}
Run Code Online (Sandbox Code Playgroud)
但是当我去运行测试时,我得到一个Mockito无法模拟的错误Application
org.mockito.exceptions.base.MockitoException:Mockito 无法模拟此类:类 android.app.Application。
Mockito 只能模拟非私人和非最终课程。
如何模拟 Application 类以将其传递给我的视图模型?
编辑:
这是@farhanjk 建议的我的文件夹层次结构
android unit-testing mockito android-architecture-components