Android单元测试:如何等待Activity更新UI

4

我想在Activity中测试我的UI。然而,这个Activity执行了一些后台网络操作,并在响应时将其片段更新为我要测试的实际组件。

我的单元测试失败了,因为它尝试在屏幕上呈现视图时对其进行assertNotNull。

我该如何向我的单元测试发出信号,表明Activity已执行此后台操作,并且一切都应准备就绪进行setUp和测试?


1
看看这里的答案是否有帮助:http://stackoverflow.com/questions/10491526/how-can-i-test-the-result-of-a-button-click-that-changes-the-activitys-view-asy/10491965#10491965 - yorkw
1个回答

1
经过一些研究和尝试,似乎有两种方法可以解决这个问题。首先,就像 @yorkw 建议的那样,你可以使用 sleep() 来尝试定时执行。
但我的直觉告诉我这不是最好的主意。这里有很多问题可能会遇到。更好的解决方案是在编写应用程序时考虑测试。我看了几个关于单元测试的视频,其中一个 Google 的演讲很出色。《清晰代码演讲》看完这个视频之后,尝试为难以测试的代码编写测试,我对编写单元测试并将业务逻辑与实现/显示逻辑分开有了全新的认识。
所以,简单的答案是更好地实现你的应用程序,以避免出现这些问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接