如何用Robolectric模拟长按?

时间:2014-10-14 17:24:36

标签: android robolectric

我使用Robolectric 2.3测试Android应用。我在setOnLongClickListener的视图上注册了一个监听器,我想通过模拟长按来测试该代码。在Robolectric中有辅助方法吗? Robolectric.clickOn似乎做了一个正常的短期'轻按。

我确实看到我可以通过ShadowView访问长按一下监听器,所以我想如果其他所有方法都失败,我可以手动调用回调。

1 个答案:

答案 0 :(得分:2)

实际上View上有一个performLongClick(),您应该可以从测试中调用它来启动操作。

这是robo自己的单元测试中的一个例子: https://github.com/robolectric/robolectric/blob/82202f264ce20ff449d5f8b26f227f88904d7643/robolectric/src/test/java/org/robolectric/shadows/ViewTest.java#L178