2

我想测试一个用View#postDelayed(Runnable, delay). 所以在断言之前我打电话给Robolectric.runUiThreadTasksIncludingDelayedTasks(). 但是那里的测试代码卡住了,即不返回。

如果我直接运行应用程序,我确信会调用延迟块。

这是 runUiThreadTasksIncludingDelayedTasks() 的错误还是有其他使用它的先决条件?

谢谢,米克

4

2 回答 2

1

使用 Robolectric 3.8,您可以使用:

Robolectric.flushForegroundThreadScheduler()

这将执行所有已在前台调度程序中排队的可运行文件。

于 2018-04-18T03:27:02.100 回答
0

适用于最新版本的 Robolectric。

于 2015-02-21T08:45:10.690 回答