我使用android.os.Handler类在后台执行任务.当单元测试这些时,我调用Looper.loop()让测试线程等待后台任务线程做它的事情.后来,我调用Looper.myLooper().quit()(也在测试线程中),允许测试线程退出loop并恢复测试逻辑.
在我想要编写多种测试方法之前,这一切都很好.
问题是Looper似乎不是为允许在同一个线程上退出和重新启动而设计的,所以我被迫在一个测试方法中完成所有测试.
我查看了Looper的源代码,但找不到解决方法.
有没有其他方法来测试我的Hander/Looper代码?或者可能还有一些测试友好的方式来编写我的后台任务类?