【发布时间】:2010-06-04 15:10:23
【问题描述】:
如何为在onCreate 中启动异步任务的 Android 活动创建单元测试?我想测试这些任务的结果。
【问题讨论】:
标签: android unit-testing android-asynctask
如何为在onCreate 中启动异步任务的 Android 活动创建单元测试?我想测试这些任务的结果。
【问题讨论】:
标签: android unit-testing android-asynctask
很难为很多 Android 功能编写测试,因为您无法在 Android 之外实例化像 Activity 这样的类。
你最好做一个真正的单元测试……单独测试你关心的函数。不要尝试在异步任务、活动等上下文中对其进行测试。
您可能需要稍微重构代码才能做到这一点,但拥有可测试的代码是值得的!
【讨论】:
如 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
【讨论】: