状況は次のとおりです。
ListView があり、アイテムをロングクリックするとコンテキスト メニューが表示されます。エミュレーターで確認しましたが、コンテキストメニューが表示されることをアサートしたいと思います。
Robolectric を使用してコンテキスト メニューが表示されていることを確認する方法はありますか?
状況は次のとおりです。
ListView があり、アイテムをロングクリックするとコンテキスト メニューが表示されます。エミュレーターで確認しましたが、コンテキストメニューが表示されることをアサートしたいと思います。
Robolectric を使用してコンテキスト メニューが表示されていることを確認する方法はありますか?
要素のクリックをエミュレートして、onCreateContextMenu
呼び出されることを確認できます
UPD 私はおそらく私の提案に従わないでしょう。私がすること-2つのテストがあります:
このアプローチではスパイする必要はありません
結局、私はpublic void registerForContextMenu(View view)
このような本当に基本的なバージョンの実装を終了しました:
view.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
realActivity.onCreateContextMenu(new TestContextMenu(), null,
null);
return true;
}
});
TestMenuを拡張するTestContextMenuの非常に単純な実装を作成し、addメソッドとaddSubMenuメソッドをオーバーライドして作成された最後のTestContextMenuへの静的参照を追加します。