テスト目的などで、Vaadin でMenuItemがクリックされたことをシミュレートする方法はありますか? これを行う方法が見つからないようです。
理想的には、Vaadin フレームワークを介してこれを実行できるようにしたいと考えています。たとえば、次のようなものです。
theMenuItem.click();
クリックをシミュレートする直接的な方法はありませんが、MenuItem の選択とチェックをシミュレートするには、次の方法を試してください。
MenuItem mi = null; // TODO
// Selection
if (null != mi.getCommand()) {
mi.getCommand().menuSelected(mi);
}
// Toggle checked
if (mi.isCheckable()) {
mi.setChecked(!mi.isChecked());
}
また、メニューを UI 実装からナビゲーションから分離して、JUnit を使用してナビゲーションをよりテストしやすくすることをお勧めします。
テストには、Java で java.awt.Robot.class を使用するか、テスト HIM API を使用できます。
メニューをナビゲーションから切り離すことをお勧めします。グアバの EventBus を使用して、懸念事項を確実に分離し、テストを容易にします。