是否有任何方法可以模拟在 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
我建议将菜单与导航分离。我们使用 guava 的 EventBus 来确保关注点分离,并使测试更容易。