当我尝试模拟并验证正在调用挂起函数的活动时,我得到以下内容
错误:
争论是不同的!通缉: userManager.getAccountInfo( (onCreate_callsGetAccountInformation $ 1)kotlinx.coroutines.experimental.CoroutineScope。() - > kotlin.Unit ); - > at com.pharmacy.AccountActivityTests $ onCreate_callsGetAccountInformation $ 1.doResume(AccountActivityTests.kt:117) 实际调用有不同的参数: userManager.getAccountInfo( ()kotlinx.coroutines.experimental.CoroutineScope。() - > kotlin.Unit ) - > at com.pharmacy.AccountActivity $ loadAccountInfoAsync $ 1 $ 1.doResume(AccountActivity.kt:199)
代码:
我的runBlocking装饰了我的单元测试用例,如下所示:
@Test
fun onCreate_callsGetAccountInformation() = runBlocking<Unit>
{ whenever(userManager.getAccountInfo()).thenReturn(AccountInformation())
subject = Robolectric.setupActivity(AccountActivity::class.java)
verify(userManager).getAccountInfo()
}
这里 - &gt; usermanager.getAccountInfo()是一个挂起函数。
答案 0 :(得分:1)
这是mockito版本,2.10及以下版本不支持暂停功能。碰到最新(2.12)修复它。