我正在尝试使用包含handler.sendMessage(msg):
public void emailLogin(){
...
mHandler.sendMessage(message);
}
Handler mHandler = new Handler(new Callback() {
public boolean handleMessage(Message msg) {
System.out.println("called");
return false;
}
});
处理程序完美无缺,没有正常的入侵, 但如果我为该方法编写单元测试,那么处理程序就是 没有触发。
robolectric是否缺少handler.sendMessage(msg)? 或者我们必须单独测试处理程序?
我不想通过单元测试自己测试处理程序, 我要测试的是我的函数,它包含处理程序。
答案 0 :(得分:1)
看看:
Robolectric.runUiThreadTasks();
我遇到了与使用RobolectricTestRunner
类运行测试时loopj Android异步Http客户端库中的Handler相同的问题,并最终使用了此处提到的类似方法:{{3 }}