@Override protected Statement methodBlock(FrameworkMethod method) { IInjectorProvider injectorProvider = getOrCreateInjectorProvider(); if (injectorProvider instanceof IRegistryConfigurator) { final IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) injectorProvider; registryConfigurator.setupRegistry(); final Statement methodBlock = superMethodBlock(method); return new Statement() { @Override public void evaluate() throws Throwable { try { methodBlock.evaluate(); } finally { registryConfigurator.restoreRegistry(); } } }; }else{ return superMethodBlock(method); } }
protected IInjectorProvider getInjectorProvider() { return InjectorProviders.getInjectorProvider(getTestClass()); }
@Override protected WrappingInjectorProvider getOrCreateInjectorProvider() { if (injectorProvider == null) { return injectorProvider = InjectorCache.wrap(super.getOrCreateInjectorProvider()); } return injectorProvider; }
@Override protected Object createTest() throws Exception { Object object = super.createTest(); IInjectorProvider injectorProvider = getOrCreateInjectorProvider(); if (injectorProvider != null) { Injector injector = injectorProvider.getInjector(); if (injector != null) injector.injectMembers(object); } return object; }
protected IInjectorProvider getOrCreateInjectorProvider() { return InjectorProviders.getOrCreateInjectorProvider(getTestClass()); }
@Override protected Object createTest() throws Exception { Object object = super.createTest(); IInjectorProvider injectorProvider = getOrCreateInjectorProvider(); if (injectorProvider != null) { Injector injector = injectorProvider.getInjector(); if (injector != null) injector.injectMembers(object); } return object; }
protected IInjectorProvider createInjectorProvider() { return InjectorProviders.createInjectorProvider(getTestClass()); }
@Override protected Statement methodBlock(FrameworkMethod method) { IInjectorProvider injectorProvider = getOrCreateInjectorProvider(); if (injectorProvider instanceof IRegistryConfigurator) { final IRegistryConfigurator registryConfigurator = (IRegistryConfigurator) injectorProvider; registryConfigurator.setupRegistry(); final Statement methodBlock = super.methodBlock(method); return new Statement() { @Override public void evaluate() throws Throwable { try { methodBlock.evaluate(); } finally { registryConfigurator.restoreRegistry(); } } }; }else{ return super.methodBlock(method); } }
protected IInjectorProvider createInjectorProvider() { return InjectorProviders.createInjectorProvider(getTestClass()); }
protected IInjectorProvider getOrCreateInjectorProvider() { return InjectorProviders.getOrCreateInjectorProvider(getTestClass()); }
protected IInjectorProvider getInjectorProvider() { return InjectorProviders.getInjectorProvider(getTestClass()); }