Android 模拟上下文上的FilesDir为null
我不熟悉单元测试,目前正在为我的Kotlin android应用程序使用Mockito 我在视图模型类中使用Koin进行依赖项注入。我已经成功地模拟出了依赖关系。我将mockedContext传递给我的viewModel类,但当调用mockedContext.filesDir时,它返回null 我错过什么了吗 HomeViewModelClassAndroid 模拟上下文上的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
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
}
}