首页 > 解决方案 > 模拟上下文上的 FilesDir 为空

问题描述

我是单元测试的新手,目前在我的 Kotlin android 应用程序中使用 Mockito。

我在我的视图模型类中使用 Koin 进行依赖注入。我已经成功地模拟了依赖项。我将 mockedContext 传递给我的 viewModel 类,但是在调用 mockedContext.filesDir 时它返回 null。

我错过了什么吗?

HomeViewModel类

init {
    directoryManager.createDirectory()
}

目录管理器

class DirectoryManager(val context:Context){

    fun createDirectory(){
        val filePath: String = context.filesDir.absolutePath
    }
}

主页查看模型测试

@Mock
private lateinit var mockedContext: Context
private lateinit var homeViewModel: HomeViewModel

@Before
fun setup() {
    homeViewModel = HomeViewModel(mockedContext)
}

在 DirectoryManager 中为 context.filesDir 获取 null

标签: androidunit-testingkotlinmockitoandroidx

解决方案


我的解决方案是改用 mockedApplication !


推荐阅读