0

如何知道所有线程何时完成执行并且空闲?Android检测所有线程空闲 - 单元测试

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

我弄不清楚的是如何知道我所有的操作何时完成;特别是在数据库更改时列表视图已完成更新,并且所有数据库操作都已完成。

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

GTAC 2013: Espresso: Fresh Start to Android UI Testing - YouTube video(见9视频:40-11:31)后 我想必须有当所有线程都闲置检测方法,并执行我的 下一个代码的一步。

我希望能够实施一个穷人版的Espresso,因为我想现在有稳定的测试。然后如果Espresso变得可用,重新编写它们。

回答

0

当发出信号并开始处理事务时,让它们首先包含一个原子int。当他们完成并且要停止做事时,让他们解决整数。任何将int赋值为0的线程都会调用一个'onCompletion'方法/函数/任何。