【发布时间】:2021-06-12 20:54:43
【问题描述】:
尝试在 Android 中测试 ViewModel。 但我收到以下测试功能的以下错误。
需要但未调用: userRepoHelper.getAllUsers(); -> 在 com.packages.projects.view.utils.UsersApiTest$givenServerResponse200_whenFetch_shouldReturnSuccess$1.invokeSuspend(UserApiTest.kt:50) 实际上,与此模拟的交互为零。
特别是这条线导致了问题
verify(userRepoHelper).getAllUsers()
@Test
fun givenServerResponse200_whenFetch_shouldReturnSuccess() {
testCoroutineRule.runBlockingTest {
val applicationMock = mock(Application::class.java)
doReturn(emptyList<User>())
.`when`(userRepoHelper)
.getAllUsers()
val viewModel = UsersViewModel(applicationMock)
viewModel.appServiceList.observeForever(apiUsersObserver)
verify(userRepoHelper).getAllUsers()
verify(apiUsersObserver).onChanged(AppServiceResponse.success(emptyList()))
viewModel.appServiceList.removeObserver(apiUsersObserver)
}
}
【问题讨论】:
标签: android kotlin android-testing kotlin-android-extensions