public class IntegrationTestBase { @Inject protected GuiServerMgr _guiServerMgr; @Inject protected SacMgr _sacMgr; @Inject protected DomainMgr _domainMgr; @Inject protected MessageMgr _messageMgr; private MyContainer _container; @Before public void setup() { MockitoAnnotations.initMocks(this); _container = new MyContainer(); _container.initGraph(getMockedManagers(), getSpiedManagers()); _container.graph().inject(this); //... } //override in tests to setup mocks protected EnumSet<IManager.ManagerType> getMockedManagers() { return EnumSet.noneOf(IManager.ManagerType.class); } //override in tests to setup spies protected EnumSet<IManager.ManagerType> getSpiedManagers() { return EnumSet.noneOf(IManager.ManagerType.class); } }