@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.setIncludedGroups(includes); 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.setIncludedGroups(includes); 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; } }
private void runTests(ITestNGListener interceptor, String... names) { List<String> expected = Arrays.asList(names); XmlSuite xmlsuite = createXmlSuite("suite", "test", TestSample.class); xmlsuite.getTests().get(0).setIncludedGroups(Collections.singletonList("exTests")); TestNG testng = create(xmlsuite); InvokedMethodNameListener listener = new InvokedMethodNameListener(); testng.addListener(listener); if (interceptor != null) { testng.addListener(interceptor); } testng.run(); for (String each : listener.getInvokedMethodNames()) { assertTrue( expected.contains(each), each + " not found in expected invocation methods " + expected); } } }
/** * 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; }
createXmlTest( 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); }
private XmlSuite createSuite(String[] groups, Class<?>... classes) { XmlSuite suite = new XmlSuite(); suite.setName("Arquillian - TEST"); suite.setConfigFailurePolicy(XmlSuite.FailurePolicy.CONTINUE); XmlTest test = new XmlTest(suite); if (groups != null) { test.setIncludedGroups(Arrays.asList(groups)); } test.setName("Arquillian - TEST"); List<XmlClass> testClasses = new ArrayList<XmlClass>(); for (Class<?> clazz : classes) { XmlClass testClass = new XmlClass(clazz); testClasses.add(testClass); } test.setXmlClasses(testClasses); return suite; }