小编bcd*_*s72的帖子

使用AsyncTask和UI更新解决方案进行Android单元测试

场景:

我正在尝试对我的应用程序的onClick处理程序进行单元测试.Onclick对REST API进行简单搜索,返回结果并更新UI.

细节:

Onclick执行AsyncTask,doInBackground查询REST API并返回结果.onPostExecute获取结果并使用数据将新的ListAdapter分配给ListView.

问题:

测试运行器不会调用onPostExecute,因为它位于同一UI线程上并阻止调用.有几种模式可以解决这个问题.但是,如果我将AsyncTask放在Runnable中并使用LatchCountdown等待结果,我会得到CalledFromWrongThread异常.

是否有一个很好的解决方案来单元测试执行UI更新的AsyncTask?还是我可以实现的更可测试的设计?

android unit-testing ui-thread

6
推荐指数
1
解决办法
1354
查看次数

标签 统计

android ×1

ui-thread ×1

unit-testing ×1