相关疑难解决方法(0)

如何模拟 Application 类以对 ViewModel 进行单元测试

我有一个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

5
推荐指数
1
解决办法
4501
查看次数