@Override public Collection<XmlSuite> process(Collection<XmlSuite> suites) { for (XmlSuite s : suites) { if (m_groups != null && m_groups.length > 0) { for (XmlTest t : s.getTests()) { t.setIncludedGroups(Arrays.asList(m_groups)); } } if (m_excludedGroups != null && m_excludedGroups.length > 0) { for (XmlTest t : s.getTests()) { t.setExcludedGroups(Arrays.asList(m_excludedGroups)); } } } return suites; }
xmlTest.setExcludedGroups(excludes);
@Override public Collection<XmlSuite> process(Collection<XmlSuite> suites) { for (XmlSuite s : suites) { if (m_groups != null && m_groups.length > 0) { for (XmlTest t : s.getTests()) { t.setIncludedGroups(Arrays.asList(m_groups)); } } if (m_excludedGroups != null && m_excludedGroups.length > 0) { for (XmlTest t : s.getTests()) { t.setExcludedGroups(Arrays.asList(m_excludedGroups)); } } } return suites; } }
xmlTest.setExcludedGroups(excludes);
/** * Parse <run> */ public void xmlRun(boolean start, Attributes attributes) throws SAXException { if (start) { m_currentRuns = Lists.newArrayList(); } else { if (m_currentTest != null) { m_currentTest.setIncludedGroups(m_currentIncludedGroups); m_currentTest.setExcludedGroups(m_currentExcludedGroups); } else { m_currentSuite.setIncludedGroups(m_currentIncludedGroups); m_currentSuite.setExcludedGroups(m_currentExcludedGroups); } m_currentRuns = null; } }
/** Parse <run> */ public void xmlRun(boolean start, Attributes attributes) throws SAXException { if (start) { m_currentRuns = Lists.newArrayList(); } else { if (m_currentTest != null) { m_currentTest.setIncludedGroups(m_currentIncludedGroups); m_currentTest.setExcludedGroups(m_currentExcludedGroups); } else { m_currentSuite.setIncludedGroups(m_currentIncludedGroups); m_currentSuite.setExcludedGroups(m_currentExcludedGroups); } m_currentRuns = null; } }
@Test public void testFactoryExecutionWhenNoIncludedTests() { XmlSuite suite = createXmlSuite("Suite"); XmlTest test = createXmlTest(suite, "Test", ExcludedFactory.class); test.setExcludedGroups(Collections.singletonList(EXCLUDED_GROUP)); TestNG tng = create(suite); tng.run(); Assert.assertFalse(ExcludedFactory.factoryRan); } }
/** * Clone the <TT>source</TT> <CODE>XmlTest</CODE> by including: * - test attributes * - groups definitions * - parameters * * The <classes> sub element is ignored for the moment. * * @return a clone of the current XmlTest */ @Override public Object clone() { XmlTest result = new XmlTest(getSuite()); result.setName(getName()); result.setIncludedGroups(getIncludedGroups()); result.setExcludedGroups(getExcludedGroups()); result.setJUnit(isJUnit()); result.setParallel(getParallel()); result.setVerbose(getVerbose()); result.setParameters(getLocalParameters()); result.setXmlPackages(getXmlPackages()); result.setTimeOut(getTimeOut()); Map<String, List<String>> metagroups = getMetaGroups(); for (Map.Entry<String, List<String>> group: metagroups.entrySet()) { result.addMetaGroup(group.getKey(), group.getValue()); } return result; }
suite, "Groups-test", GroupSuiteSampleTest.class, GroupSuiteSampleTest2.class); test.setIncludedGroups(testGroups); test.setExcludedGroups(excludedTestGroups);
/** * Clone the <TT>source</TT> <CODE>XmlTest</CODE> by including: - test attributes - groups * definitions - parameters * * <p>The <classes> sub element is ignored for the moment. * * @return a clone of the current XmlTest */ @Override public Object clone() { XmlTest result = new XmlTest(getSuite()); result.setName(getName()); result.setIncludedGroups(getIncludedGroups()); result.setExcludedGroups(getExcludedGroups()); result.setJUnit(isJUnit()); result.setParallel(getParallel()); result.setVerbose(getVerbose()); result.setParameters(getLocalParameters()); result.setXmlPackages(getXmlPackages()); result.setTimeOut(getTimeOut()); Map<String, List<String>> metagroups = getMetaGroups(); for (Map.Entry<String, List<String>> group : metagroups.entrySet()) { result.addMetaGroup(group.getKey(), group.getValue()); } return result; }
/** * Generate testng-failed.xml */ private void createXmlTest(ITestContext context, List<ITestNGMethod> methods, XmlTest srcXmlTest) { XmlTest xmlTest = new XmlTest(m_xmlSuite); xmlTest.setName(context.getName() + "(failed)"); xmlTest.setBeanShellExpression(srcXmlTest.getExpression()); xmlTest.setIncludedGroups(srcXmlTest.getIncludedGroups()); xmlTest.setExcludedGroups(srcXmlTest.getExcludedGroups()); xmlTest.setParallel(srcXmlTest.getParallel()); xmlTest.setParameters(srcXmlTest.getLocalParameters()); xmlTest.setJUnit(srcXmlTest.isJUnit()); List<XmlClass> xmlClasses = createXmlClasses(methods, srcXmlTest); xmlTest.setXmlClasses(xmlClasses); }
/** Generate testng-failed.xml */ private void createXmlTest( ITestContext context, List<ITestNGMethod> methods, XmlTest srcXmlTest) { XmlTest xmlTest = new XmlTest(m_xmlSuite); xmlTest.setName(context.getName() + "(failed)"); xmlTest.setScript(srcXmlTest.getScript()); xmlTest.setIncludedGroups(srcXmlTest.getIncludedGroups()); xmlTest.setExcludedGroups(srcXmlTest.getExcludedGroups()); xmlTest.setParallel(srcXmlTest.getParallel()); xmlTest.setParameters(srcXmlTest.getLocalParameters()); xmlTest.setJUnit(srcXmlTest.isJUnit()); List<XmlClass> xmlClasses = createXmlClasses(methods, srcXmlTest); xmlTest.setXmlClasses(xmlClasses); }