【问题标题】:Testing Android activity with async tasks使用异步任务测试 Android 活动
【发布时间】:2010-06-04 15:10:23
【问题描述】:

如何为在onCreate 中启动异步任务的 Android 活动创建单元测试?我想测试这些任务的结果。

【问题讨论】:

    标签: android unit-testing android-asynctask


    【解决方案1】:

    很难为很多 Android 功能编写测试,因为您无法在 Android 之外实例化像 Activity 这样的类。

    你最好做一个真正的单元测试……单独测试你关心的函数。不要尝试在异步任务、活动等上下文中对其进行测试。

    您可能需要稍微重构代码才能做到这一点,但拥有可测试的代码是值得的!

    【讨论】:

      【解决方案2】:

      如 Cheryl 的回答中提到的那样运行真正的单元测试将是理想的。但是,如果您仍然想在 Activity Test 中测试结果 AsyncTasks 或任何长时间运行的异步操作,Espresso 是灵丹妙药。

      Espresso 自动等待 AyscTasks 完成,开发人员可以手动告诉 Espresso 等待通过 IdlingResource API 运行的自定义后台任务。

      以下是帮助您入门的教程:http://blog.sqisland.com/2015/04/espresso-custom-idling-resource.html

      IdlingResource 文档:http://developer.android.com/reference/android/support/test/espresso/IdlingResource.html

      【讨论】:

        猜你喜欢
        • 2012-08-14
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-05
        • 2023-03-30
        相关资源
        最近更新 更多