protected void init(Object target) { final Class<?> testClass = target.getClass(); try { mockPolicyInitializer = new MockPolicyInitializerImpl(testClass); testSuiteChunker = new PowerMockRuleTestSuiteChunker(testClass); previousTargetClass = target.getClass(); } catch (Exception e) { throw new RuntimeException(e); } } }
private void initialize(final ClassLoader mockLoader) { new MockPolicyInitializerImpl(testClass).initialize(mockLoader); }
private void initializeMockPolicy() {new MockPolicyInitializerImpl(testClass).initialize(mockLoader);}
/** * @return {@code true} if there are some mock policies that * contributes with classes that should be loaded by the mock * classloader, {@code false} otherwise. */ private boolean hasMockPolicyProvidedClasses(Class<?> testClass) { boolean hasMockPolicyProvidedClasses = false; if (testClass.isAnnotationPresent(MockPolicy.class)) { MockPolicy annotation = testClass.getAnnotation(MockPolicy.class); Class<? extends PowerMockPolicy>[] value = annotation.value(); hasMockPolicyProvidedClasses = new MockPolicyInitializerImpl(value).needsInitialization(); } return hasMockPolicyProvidedClasses; } }
public static void initialize(Class<?> testClass, JavaAgentClassRegister agentClassRegister) { /* * For extra safety clear the MockitoRepository. */ MockRepository.clear(); redefineClasses(testClass, agentClassRegister); final ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); new MockPolicyInitializerImpl(testClass).initialize(contextClassLoader); }
public void run(TestResult result) { final Iterator<TestChunk> iterator = getChunkIterator(); for (PowerMockJUnit3RunnerDelegate delegate : delegates) { TestChunk next = iterator.next(); final PowerMockJUnit3TestListener listener = new PowerMockJUnit3TestListener(next.getClassLoader()); result.addListener(listener); // Initialize mock policies for each test new MockPolicyInitializerImpl(delegate.getTestClass()).initialize(this.getClass().getClassLoader()); delegate.run(result); result.removeListener(listener); } }