У меня есть такой метод
public void updateListViewVisibility(List<User> userList) {
userViewVisibility.set(View.GONE);
handler.postDelayed(runnableCode, 10000000);
}
/**
* A runnable code, the purpose of this is to display a message if no user found in range.
*/
private Runnable runnableCode = new Runnable() {
@Override
public void run() {
changeState();
}
};
Я могу запустить модульное тестирование этого, если в методе нет обработчика updateListViewVisibility
@Test
public void test_updateupdateListViewVisibility() {
List<User> userList = new ArrayList<User>();
userList.clear();
SUT.updateListViewVisibility(userList);
assertEquals("Variable userViewVisibility should be false",
SUT.userViewVisibility.get(), false);
}
Но, еслиЯ держу обработчик
Я получил следующую ошибку.
java.lang.RuntimeException: Method postDelayed in android.os.Handler not mocked. See http://g.co/androidstudio/not-mocked for details.
Как правильно протестировать этот метод?