Android检测所有线程何时空闲 - 单元测试

时间:2013-07-24 15:50:26

标签: android multithreading testing android-listview android-espresso

我怎么知道所有线程何时完成执行并且空闲?

我正在尝试为基于Java的Android应用程序编写单元测试。 测试要求查询内容提供程序,并在实际测试之前将内容添加到ListView。

我无法弄清楚的是如何知道我的所有操作何时完成;特别是当数据库发生变化时列表视图已完成更新,并且所有数据库操作都已完成。

我可以将睡眠投入到我的测试用例中,但正如预期的那样,如果系统负载过重,它们会使事情变得不可靠;并减慢执行速度。

观看GTAC 2013: Espresso: Fresh Start to Android UI Testing - YouTube video后(见9:40-11:31视频)  我认为必须有一种方法来检测所有线程何时空闲,并执行我的 下一步代码。

我希望能够实现一个可怜的芒果版Espresso,因为我现在想要进行稳定的测试。如果Espresso可用,则重写它们。

2 个答案:

答案 0 :(得分:0)

当发出信号并开始做事时,让它们首先加入原子int。当他们完成并即将停止做事时,让他们决定int。任何将int转换为0的线程都会调用'onCompletion'方法/函数/无论如何。

答案 1 :(得分:0)

Espresso已经released - 所以试一试。