kotlin 反射-私有方法

6pp0gazn  于 2022-11-30  发布在  Kotlin
关注(0)|答案(1)|浏览(202)

在我的测试中,我有:

@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
    }
}

当我运行测试时,我得到:异常错误类型:在这个例子中,我们可以使用一个简单的方法来创建一个新的视图模型。

cngwdvgl

cngwdvgl1#

正是因为"暂停"我才需要用Kotlin的反思

相关问题