Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 模拟上下文上的FilesDir为null_Android_Unit Testing_Kotlin_Mockito_Androidx - Fatal编程技术网

Android 模拟上下文上的FilesDir为null

Android 模拟上下文上的FilesDir为null,android,unit-testing,kotlin,mockito,androidx,Android,Unit Testing,Kotlin,Mockito,Androidx,我不熟悉单元测试,目前正在为我的Kotlin android应用程序使用Mockito 我在视图模型类中使用Koin进行依赖项注入。我已经成功地模拟出了依赖关系。我将mockedContext传递给我的viewModel类,但当调用mockedContext.filesDir时,它返回null 我错过什么了吗 HomeViewModelClass init { directoryManager.createDirectory() } 董事经理 class DirectoryManage

我不熟悉单元测试,目前正在为我的Kotlin android应用程序使用Mockito

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

我错过什么了吗

HomeViewModelClass

init {
    directoryManager.createDirectory()
}
董事经理

class DirectoryManager(val context:Context){

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

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

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

在DirectoryManager中为context.filesDir获取null对我来说,解决方案是改用mockedApplication

如果不希望模拟上下文,则看起来没有为模拟
上下文定义任何行为。搜索
机器人分子
仪器化测试
class DirectoryManager(val context:Context){

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