我有一个依赖于AsyncTask检索数据的数据库组件。一旦在应用程序中使用,它将始终从ui线程调用,但是如何在junit测试中不实例化Activity(我只是没有活动,也不应该仅仅为了测试而创建一个活动)?
runOnUiThread()是一种活动方法,因此它不是一个选项。有没有一种方法可以通过从android测试库中获取一个ui线程或者通过实现mockuithread来模拟ui线程?

最佳答案

android.os.handler应该能够更新ui。
若要使用处理程序,必须将其子类化并覆盖handleMessage()以处理消息
更新:
我用的是单机器人,所以我不知道这是否完全可以翻译,但是,
你也许可以使用

new Handler(context.getMainLooper()).post(runnable);

08-04 06:27