And*_*nov 2 android unit-testing mockito
我是单元测试的新手,我坚持测试以下方法:
fun freeze(view: View) {
view.isClickable = false
handler.postDelayed({
view.isClickable = true
}, CLICK_TIMEOUT)
}
Run Code Online (Sandbox Code Playgroud)
这是我已经拥有的:
@Test
fun freeze() {
var view = mock<View>()
viewUtil.freeze(view)
assertFalse(view.isClickable)
}
Run Code Online (Sandbox Code Playgroud)
但是现在我需要测试该视图在CLICK_TIMEOUT.
我该如何实施这种测试?
如果您能够模拟Handler实例,则可以这样做:
Handler mockHandler = mock(Handler.class);
当(mockHandler.postDelayed(any(Runnable.class), anyLong())).thenAnswer(new Answer() {
@覆盖
public Object answer(InvocationOnMock invocation) 抛出 Throwable {
invocation.getArgumentAt(0, Runnable.class).run();
返回空;
}
});
| 归档时间: |
|
| 查看次数: |
7490 次 |
| 最近记录: |