【发布时间】:2022-11-27 18:09:23
【问题描述】:
在我的测试中,我有:
@Before
fun setUp() {
savedStateHandle = SavedStateHandle()
saveImageUseCase = Mockito.mock(SaveImageUseCase::class.java)
repo = FakeRepository()
viewModel = AreaEditViewModel(repo, savedStateHandle, saveImageUseCase)
}
@Test
fun setUpArea() = runTest {
val method = viewModel.javaClass.getDeclaredMethod("setUpArea", Long::class.java)
method.isAccessible = true
method.invoke(viewModel, 2L)
...
}
在我的视图模型中:
private suspend fun setUpArea(areaId: Long) {
repository.getAreaById(areaId).first() {
savedStateHandle["area"] = it
true
}
}
当我运行测试时,我得到: com.rachapps.area_feature.viewModel.AreaEditViewModel.setUpArea(长) java.lang.NoSuchMethodException: com.rachapps.area_feature.viewModel.AreaEditViewModel.setUpArea(长) 在 java.base/java.lang.Class.getDeclaredMethod(Class.java:2707) 在 com.rachapps.area_feature.viewModel.AreaEditViewModelTest$setUpArea$1.invokeSuspend(AreaEditViewModelTest.kt:61)
【问题讨论】:
标签: android kotlin reflection