fixMethodsWithClass(tc.getTestMethods(), tc, testMethods); fixMethodsWithClass(tc.getBeforeClassMethods(), tc, beforeClassMethods); fixMethodsWithClass(tc.getBeforeTestMethods(), tc, null); fixMethodsWithClass(tc.getAfterTestMethods(), tc, null); fixMethodsWithClass(tc.getAfterClassMethods(), tc, afterClassMethods); fixMethodsWithClass(tc.getBeforeSuiteMethods(), tc, beforeSuiteMethods); fixMethodsWithClass(tc.getAfterSuiteMethods(), tc, afterSuiteMethods); fixMethodsWithClass(tc.getBeforeTestConfigurationMethods(), tc, beforeXmlTestMethods); fixMethodsWithClass(tc.getAfterTestConfigurationMethods(), tc, afterXmlTestMethods); fixMethodsWithClass(tc.getBeforeGroupsMethods(), tc, MethodHelper.uniqueMethodList(beforeGroupMethods.values())); fixMethodsWithClass(tc.getAfterGroupsMethods(), tc, MethodHelper.uniqueMethodList(afterGroupMethods.values()));
fixMethodsWithClass(tc.getTestMethods(), tc, testMethods); fixMethodsWithClass(tc.getBeforeClassMethods(), tc, beforeClassMethods); fixMethodsWithClass(tc.getBeforeTestMethods(), tc, null); fixMethodsWithClass(tc.getAfterTestMethods(), tc, null); fixMethodsWithClass(tc.getAfterClassMethods(), tc, afterClassMethods); fixMethodsWithClass(tc.getBeforeSuiteMethods(), tc, beforeSuiteMethods); fixMethodsWithClass(tc.getAfterSuiteMethods(), tc, afterSuiteMethods); fixMethodsWithClass(tc.getBeforeTestConfigurationMethods(), tc, beforeXmlTestMethods); fixMethodsWithClass(tc.getAfterTestConfigurationMethods(), tc, afterXmlTestMethods); fixMethodsWithClass( tc.getBeforeGroupsMethods(), tc, MethodHelper.uniqueMethodList(beforeGroupMethods.values())); fixMethodsWithClass( tc.getAfterGroupsMethods(), tc,
private static List<ITestNGMethod> associateInstanceToMethods( Class<?> clazz, XmlTest xmlTest, Class<? extends IAnnotation> annotationClass) { ITestClass testClass = new FakeTestClass(clazz); ITestNGMethod[] rawMethods = methods(clazz, xmlTest, annotationClass); Object object = newInstance(clazz); List<ITestNGMethod> fixedMethods = Lists.newArrayList(); if (object == null) { // Looks like there was a non default constructor on the class (maybe because its driven by a // factory) // So lets not try to associate the instance. We will use the method as is. fixedMethods.addAll(Arrays.asList(rawMethods)); } else { for (ITestNGMethod each : rawMethods) { ITestNGMethod m = new TestNGMethod(each.getConstructorOrMethod().getMethod(), finder, xmlTest, object); fixedMethods.add(m); } } List<ITestNGMethod> tstMethods = Lists.newArrayList(); MethodHelper.fixMethodsWithClass( fixedMethods.toArray(new ITestNGMethod[0]), testClass, tstMethods); return tstMethods; }
ITestClass testClass = new FakeTestClass(clazz); List<ITestNGMethod> tstMethods = Lists.newArrayList(); MethodHelper.fixMethodsWithClass(allMethods, testClass, tstMethods);