DroolsWorkbenchEntryPoint extends DefaultWorkbenchEntryPoint { @Override public void setupMenu() { setupAdminPage(); menusHelper.addUtilitiesMenuItems(); final Menus menus = MenuFactory .newTopLevelMenu(constants.Perspectives()) .withItems(menusHelper.getPerspectivesMenuItems()) .endMenu() .build(); menuBar.addMenus(menus); } @Inject  DroolsWorkbenchEntryPoint(final Caller<AppConfigService> appConfigService,
                                     final ActivityBeansCache activityBeansCache,
                                     final PlaceManager placeManager,
                                     final DefaultWorkbenchFeaturesMenusHelper menusHelper,
                                     final WorkbenchMegaMenuPresenter menuBar,
                                     final AdminPage adminPage,
                                     final DefaultAdminPageHelper adminPageHelper,
                                     final PreferenceScopeFactory scopeFactory,
                                     final WorkbenchConfigurationPresenter workbenchConfigurationPresenter,
                                     final LanguageConfigurationHandler languageConfigurationHandler,
                                     final DefaultWorkbenchErrorCallback defaultWorkbenchErrorCallback,
                                     final AppFormerJsBridge appFormerJsBridge); @PostConstruct void preStartSetup(); @Override void setupMenu(); @Override void setupAdminPage();  }
@Test public void setupMenuTest() { droolsWorkbenchEntryPoint.setupMenu(); ArgumentCaptor<Menus> menusCaptor = ArgumentCaptor.forClass(Menus.class); verify(menuBar).addMenus(menusCaptor.capture()); Menus menus = menusCaptor.getValue(); assertEquals(1, menus.getItems().size()); assertEquals(droolsWorkbenchEntryPoint.constants.Perspectives(), menus.getItems().get(0).getCaption()); verify(menusHelper).addUtilitiesMenuItems(); }