private void privateRunJUnit() { final ClassInfoMap cim = new ClassInfoMap(m_testClassesFromXml, false); final Set<Class<?>> classes = cim.getClasses(); final List<ITestNGMethod> runMethods = Lists.newArrayList(); List<IWorker<ITestNGMethod>> workers = Lists.newArrayList();
/** * @see java.lang.Runnable#run() */ @Override public void run() { for(Class<?> tc: classes) { List<XmlInclude> includedMethods = cim.getXmlClass(tc).getIncludedMethods(); List<String> methods = Lists.newArrayList(); for (XmlInclude inc: includedMethods) { methods.add(inc.getName()); } IJUnitTestRunner tr= ClassHelper.createTestRunner(TestRunner.this); tr.setInvokedMethodListeners(m_invokedMethodListeners); try { tr.run(tc, methods.toArray(new String[methods.size()])); } catch(Exception ex) { ex.printStackTrace(); } finally { runMethods.addAll(tr.getTestMethods()); } } }
private void registerClass(Class<?> cl, XmlClass xmlClass) { m_map.put(cl, xmlClass); if (includeNestedClasses) { for (Class<?> c : cl.getClasses()) { if (!m_map.containsKey(c)) { registerClass(c, xmlClass); } } } }
annotationFinder, m_testContext, objectFactory, m_dataProviderListeners); ClassInfoMap moreClasses = new ClassInfoMap(); moreClasses.addClass(oneMoreClass);
List<ITestNGMethod> afterXmlTestMethods = Lists.newArrayList(); ClassInfoMap classMap = new ClassInfoMap(m_testClassesFromXml); m_testClassFinder= new TestNGClassFinder(classMap,Maps.<Class<?>, List<Object>>newHashMap(), m_configuration, this, m_dataProviderListeners); m_runInfo, m_xmlTest, classMap.getXmlClass(ic.getRealClass())); m_classMap.put(ic.getRealClass(), tc);
@Test(dataProvider = "getFactoryTestData") public void testCreateListenerFactory( Class<?> testClazz, Class<? extends ITestNGListenerFactory> listenerClazz) { ITestContext ctx = new FakeTestContext(testClazz); ClassInfoMap classMap = new ClassInfoMap(Collections.singletonList(new XmlClass(testClazz))); TestNGClassFinder finder = new TestNGClassFinder( classMap, Maps.newHashMap(), new Configuration(), ctx, Maps.newHashMap()); ITestNGListenerFactory factory = TestListenerHelper.createListenerFactory(finder, listenerClazz); assertThat(factory).isNotNull(); }
private void processMethod(IConfiguration configuration, IClass ic, ConstructorOrMethod factoryMethod) { if (!factoryMethod.getEnabled()) { return; } ClassInfoMap moreClasses = processFactory(ic, factoryMethod); if (moreClasses.isEmpty()) { return; } TestNGClassFinder finder = new TestNGClassFinder(moreClasses, m_instanceMap, configuration, m_testContext, Collections.<Class<? extends IDataProviderListener>, IDataProviderListener>emptyMap()); for (IClass ic2 : finder.findTestClasses()) { putIClass(ic2.getRealClass(), ic2); } }
Set<Class<?>> allClasses= cim.getClasses();
objectFactory, m_dataProviderListeners); ClassInfoMap moreClasses = new ClassInfoMap(); moreClasses.addClass(oneMoreClass);
List<ITestNGMethod> afterXmlTestMethods = Lists.newArrayList(); ClassInfoMap classMap = new ClassInfoMap(m_testClassesFromXml); m_testClassFinder = new TestNGClassFinder( m_annotationFinder, m_xmlTest, classMap.getXmlClass(ic.getRealClass()), m_testClassFinder.getFactoryCreationFailedMessage()); m_classMap.put(ic.getRealClass(), tc);
private void processMethod( IConfiguration configuration, IClass ic, ConstructorOrMethod factoryMethod) { if (!factoryMethod.getEnabled()) { return; } ClassInfoMap moreClasses = processFactory(ic, factoryMethod); if (moreClasses.isEmpty()) { return; } TestNGClassFinder finder = new TestNGClassFinder( moreClasses, m_instanceMap, configuration, m_testContext, Collections.emptyMap()); for (IClass ic2 : finder.findTestClasses()) { putIClass(ic2.getRealClass(), ic2); } }
Set<Class<?>> allClasses = cim.getClasses();
private void privateRunJUnit() { final ClassInfoMap cim = new ClassInfoMap(m_testClassesFromXml, false); final Set<Class<?>> classes = cim.getClasses(); final List<ITestNGMethod> runMethods = Lists.newArrayList(); List<IWorker<ITestNGMethod>> workers = Lists.newArrayList();
private void registerClass(Class<?> cl, XmlClass xmlClass) { m_map.put(cl, xmlClass); if (includeNestedClasses) { for (Class<?> c : cl.getClasses()) { if (!m_map.containsKey(c)) { registerClass(c, xmlClass); } } } }
private void processClass(ClassInfoMap cim, Map<Class<?>, List<Object>> instanceMap, IConfiguration configuration, Class<?> cls) { if (null == cls) { Utils.log(PREFIX, 5, "[WARN] FOUND NULL CLASS"); return; } if (isNotTestNGClass(cls, annotationFinder)) { // if not TestNG class Utils.log(PREFIX, 3, "SKIPPING CLASS " + cls + " no TestNG annotations found"); return; } List<Object> allInstances = instanceMap.get(cls); Object thisInstance = (allInstances != null && !allInstances.isEmpty()) ? allInstances.get(0) : null; // If annotation class and instances are abstract, skip them if ((null == thisInstance) && Modifier.isAbstract(cls.getModifiers())) { Utils.log("", 5, "[WARN] Found an abstract class with no valid instance attached: " + cls); return; } if ((null == thisInstance) && cls.isAnonymousClass()) { Utils.log("", 5, "[WARN] Found an anonymous class with no valid instance attached" + cls); return; } IClass ic = findOrCreateIClass(m_testContext, cls, cim.getXmlClass(cls), thisInstance, annotationFinder, objectFactory); if (ic == null) { return; } putIClass(cls, ic); List<ConstructorOrMethod> factoryMethods = ClassHelper.findDeclaredFactoryMethods(cls, annotationFinder); for (ConstructorOrMethod factoryMethod : factoryMethods) { processMethod(configuration, ic, factoryMethod); } }
public ClassInfoMap(List<XmlClass> classes, boolean includeNested) { includeNestedClasses = includeNested; for (XmlClass xmlClass : classes) { try { Class<?> c = xmlClass.getSupportClass(); registerClass(c, xmlClass); } catch (NoClassDefFoundError e) { Utils.log("[ClassInfoMap]", 1, "Unable to open class " + xmlClass.getName() + " - unable to resolve class reference " + e.getMessage()); if (xmlClass.loadClasses()) { throw e; } } } }
/** @see java.lang.Runnable#run() */ @Override public void run() { for (Class<?> tc : classes) { List<XmlInclude> includedMethods = cim.getXmlClass(tc).getIncludedMethods(); List<String> methods = Lists.newArrayList(); for (XmlInclude inc : includedMethods) { methods.add(inc.getName()); } IJUnitTestRunner tr = IJUnitTestRunner.createTestRunner(TestRunner.this); tr.setInvokedMethodListeners(m_invokedMethodListeners); try { tr.run(tc, methods.toArray(new String[0])); } catch (Exception ex) { LOGGER.error(ex.getMessage(), ex); } finally { runMethods.addAll(tr.getTestMethods()); } } }
public ClassInfoMap(List<XmlClass> classes, boolean includeNested) { includeNestedClasses = includeNested; for (XmlClass xmlClass : classes) { try { Class<?> c = xmlClass.getSupportClass(); registerClass(c, xmlClass); } catch (NoClassDefFoundError e) { Utils.log( "[ClassInfoMap]", 1, "Unable to open class " + xmlClass.getName() + " - unable to resolve class reference " + e.getMessage()); if (xmlClass.loadClasses()) { throw e; } } } }
m_testContext, cls, cim.getXmlClass(cls), thisInstance, annotationFinder,