Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用异步任务测试Android活动_Android_Unit Testing_Android Asynctask - Fatal编程技术网

使用异步任务测试Android活动

使用异步任务测试Android活动,android,unit-testing,android-asynctask,Android,Unit Testing,Android Asynctask,如何为在onCreate中启动异步任务的Android活动创建单元测试?我想测试这些任务的结果。很难为许多Android功能编写测试,因为您无法在Android之外实例化Activity之类的类 您最好做一个真正的单元测试……单独测试您关心其行为的函数。不要试图在异步任务、活动等上下文中测试它 您可能需要稍微重构代码才能做到这一点,但拥有可测试的代码是值得的 如Cheryl的回答中所述,运行真正的单元测试是理想的。但是,如果您仍然希望在活动测试中测试结果AsyncTasks或任何长时间运行的异步

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

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

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


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

如Cheryl的回答中所述,运行真正的单元测试是理想的。但是,如果您仍然希望在活动测试中测试结果AsyncTasks或任何长时间运行的异步操作,那么Espresso是一个灵丹妙药

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

以下是帮助您入门的教程:

IdlingResource文档: