2012-06-28 56 views
1

我正在尝试在Activity中测试我的UI。 但是,此活动会执行一些后台网络操作,并在响应中将其碎片更新为我试图测试的实际组件。Android单元测试:如何等待Activity更新UI

我的单元测试失败,因为它试图assertNotNull已被渲染到屏幕上的视图呢。

我该如何去发信号通知我的单元测试Activity已经执行了这个后台操作,并且所有的事情都应该准备好进行安装和测试了?

+1

看看答案[这里](http://stackoverflow.com/questions/10491526/how-can-i-test-the-result-of-a-button-click-that-c​​hanges-the-activitys- view-asy/10491965#10491965)有帮助。 – yorkw

回答

1

在做了一些研究和更多的玩耍之后,似乎有两种方法可以做到这一点。首先,你可以像@ yorkw所建议的那样,使用sleep()并尝试一切。

我的直觉告诉我,这不是最好的主意。这只是一堆你可以遇到的问题。更好的解决方案是在编写应用程序时将测试考虑在内。我已经观看了一些关于单元测试的视频,并且这一个Google谈话脱颖而出。 Clean Code Talks看完本文后,尝试编写难以测试代码的测试,我对编写单元测试以及将实现/显示逻辑与业务逻辑分开表示了全新的理解。

所以简单的答案是更好地实施您的应用程序,以避免出现这些问题。