我有一个依赖AsyncTask
来检索数据的数据库组件。一旦在应用程序中使用它将始终从UI线程调用,但是我如何在JUnit测试中执行此操作而不实例化Activity
(我只是没有活动,我也不应该创建一个仅用于测试目的)?
runOnUiThread()
是一种活动方法,所以它不是一个选项。有没有办法通过从Android测试库中获取UI线程或通过实现MockUiThread来模拟UI线程?
答案 0 :(得分:20)
Android.OS.Handler应该能够更新ui。
要使用处理程序,必须将其子类化并覆盖handleMessage()以处理消息
更新:
我正在使用monodroid,所以我不知道这是否完全可以翻译,但是,
您可以使用
new Handler(context.getMainLooper()).post(runnable);