情况如下:
我有一个 ListView,当长按某个项目时,会显示一个上下文菜单。我已经在模拟器上检查过了,但现在我想断言上下文菜单出现了。
有没有办法断言上下文菜单已使用 Robolectric 显示?
情况如下:
我有一个 ListView,当长按某个项目时,会显示一个上下文菜单。我已经在模拟器上检查过了,但现在我想断言上下文菜单出现了。
有没有办法断言上下文菜单已使用 Robolectric 显示?
您可以模拟元素单击并检查onCreateContextMenu
是否调用
UPD 我可能不会听从我的建议。我会做什么 - 有两个测试:
您不需要在这种方法中进行间谍活动
最后,我已经完成了一个非常基本的版本,public void registerForContextMenu(View view)
如下所示:
view.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
realActivity.onCreateContextMenu(new TestContextMenu(), null,
null);
return true;
}
});
制作一个非常简单的 TestContextMenu 实现,扩展 TestMenu 并添加对通过覆盖 add 和 addSubMenu 方法创建的最后一个 TestContextMenu 的静态引用。