android - 非常基本的 LoaderTestCase 卡在 getLoaderResultSynchronously 中

标签 android testing asynchronous junit asynctaskloader

我是 Loaders 新手,正在尝试在 LoaderTestCase 中测试最基本的 AsyncTaskLoader。然而 getLoaderResultSynchronously 永远不会完成。这是整个类(class):

public class LoaderTest extends LoaderTestCase{

    public void testLoader() {
        String result = getLoaderResultSynchronously(new AsyncTaskLoader<String>(getContext()){

            @Override
            public String loadInBackground() {
                return "hello";
            }

        });

        assertEquals(result, "hello");
    }
}

我错过了什么?

最佳答案

getLoaderResultSynchronously() 调用通过参数传递的 Loader 的 startLoading() 和 stopLoading() 方法。您必须实现它。

public final void testLoader() {
    String result = loader.getLoaderResultSynchronously(new AsyncTaskLoader<String>(
            getContext()) {

        @Override
        public String loadInBackground() {
            return "hello";
        }

        /* (non-Javadoc)
         * @see android.content.Loader#onStartLoading()
         */
        @Override
        protected void onStartLoading() {
            // TODO Auto-generated method stub
            forceLoad();
        }
        /* (non-Javadoc)
         * @see android.content.Loader#onStopLoading()
         */

        @Override
        protected void onStopLoading() {
            // TODO Auto-generated method stub
            cancelLoad();

        }



    });

关于android - 非常基本的 LoaderTestCase 卡在 getLoaderResultSynchronously 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18453166/

相关文章:

php - 调用和 "forget about"异步 mysqlnd INSERT 查询的最佳方法

python-3.x - 与另一个线程或进程共享 asyncio.Queue

android - 管理android应用程序中的多个 Activity

android - 使用动态 JSON 对象名称解析 JSON?

testing - 您如何使自动化测试与测试计划保持同步

php - 如何使用 PHPUnit/Selenium 测试某个元素不存在?

python - 将集合与多处理模块一起使用

java - Android 可以每月显示一次对话框吗?

Android Espresso - 等待直到显示对话框

c# - Selenium 在 C# 中的显式等待用法