当我尝试模拟和验证调用悬挂函数的活动
时,我将获得以下内容错误:
参数不同!通缉:usermanager.getAccountinfo((increate_callsgetAccountinformation $ 1)kotlinx.coroutines.coroutines.corimenth.coroutinescope。() -> kotlin.unit.unit); ->在com.pharmacy.accountactivitytests $ oncreate_callsgetAccountInformation $ 1.Doresume(coundactactivitytests.kts.kt:117)实际调用有不同的参数:usermanager.getAccountinfo(()kotlinx.coroutines.experiment.coroutinescope。) ->在com.pharmacy.accountactivity $ loadAccountinfoasync $ 1 $ 1.Doresume(accountactivity.kt:199)
代码:
我的设备测试案例以这样的运行装饰:
@Test
fun onCreate_callsGetAccountInformation() = runBlocking<Unit>
{ whenever(userManager.getAccountInfo()).thenReturn(AccountInformation())
subject = Robolectric.setupActivity(AccountActivity::class.java)
verify(userManager).getAccountInfo()
}
在这里 -> usermanager.getAccountinfo()是悬浮函数。
它是Mockito版本,2.10及以下不支持悬挂功能。将其碰到最新(2.12)修复。