7
使用Android测试框架进行Android AsyncTask测试
我有一个非常简单的AsyncTask实现示例,使用Android JUnit框架对其进行测试时遇到了问题。 当我在常规应用程序中实例化并执行它时,它的工作正常。但是,当从任何Android Testing框架类(即AndroidTestCase,ActivityUnitTestCase,ActivityInstrumentationTestCase2等)执行该代码时,它的行为都会很奇怪: doInBackground()正确执行方法 然而,它没有任何调用它的通知方法(onPostExecute(),onProgressUpdate()等) -只是默默忽略它们没有表现出任何错误。 这是非常简单的AsyncTask示例: package kroz.andcookbook.threads.asynctask; import android.os.AsyncTask; import android.util.Log; import android.widget.ProgressBar; import android.widget.Toast; public class AsyncTaskDemo extends AsyncTask<Integer, Integer, String> { AsyncTaskDemoActivity _parentActivity; int _counter; int _maxCount; public AsyncTaskDemo(AsyncTaskDemoActivity asyncTaskDemoActivity) { _parentActivity = asyncTaskDemoActivity; } @Override protected void onPreExecute() { super.onPreExecute(); _parentActivity._progressBar.setVisibility(ProgressBar.VISIBLE); _parentActivity._progressBar.invalidate(); } @Override …