private static void adjustSuiteNamesToEnsureUniqueness(List<XmlSuite> suites, Set<String> names) { for (XmlSuite suite : suites) { String name = suite.getName(); int count = 0; String tmpName = name; while (names.contains(tmpName)) { tmpName = name + " (" + count++ + ")"; } if (count > 0) { suite.setName(tmpName); names.add(tmpName); } else { names.add(name); } adjustSuiteNamesToEnsureUniqueness(suite.getChildSuites(), names); } } }
private static void adjustSuiteNamesToEnsureUniqueness(List<XmlSuite> suites, Set<String> names) { for (XmlSuite suite : suites) { String name = suite.getName(); int count = 0; String tmpName = name; while (names.contains(tmpName)) { tmpName = name + " (" + count++ + ")"; } if (count > 0) { suite.setName(tmpName); names.add(tmpName); } else { names.add(name); } adjustSuiteNamesToEnsureUniqueness(suite.getChildSuites(), names); } } }
@Override public void alter(List<XmlSuite> suites) { XmlSuite suite = suites.get(0); suite.setName(getClass().getSimpleName()); } }
protected static XmlSuite createXmlSuite(String name) { XmlSuite result = new XmlSuite(); result.setName(name); return result; }
@Override public XmlSuite parse(String filePath, InputStream is, boolean loadClasses) throws TestNGException { XmlSuite suite = new XmlSuite(); suite.setName("fake_suite"); return suite; } }
public static XmlSuite newXmlSuiteUsing(List<String> classes) { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setVerbose(0); xmlSuite.setName("Jar suite"); XmlTest xmlTest = new XmlTest(xmlSuite); xmlTest.setXmlClasses(constructXmlClassesUsing(classes)); return xmlSuite; }
public static XmlSuite newXmlSuiteUsing(List<String> classes) { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setVerbose(0); xmlSuite.setName("Jar suite"); XmlTest xmlTest = new XmlTest(xmlSuite); xmlTest.setXmlClasses(constructXmlClassesUsing(classes)); return xmlSuite; }
@BeforeMethod(groups= { "init", "initTest" }) public void methodSetUp() { m_suite= new XmlSuite(); m_suite.setName("Internal_suite"); XmlTest xmlTest= new XmlTest(m_suite); xmlTest.setName("Internal_test_failures_are_expected"); m_tests.put(getId(), xmlTest); }
private XmlSuite createSuite(final int nr) { final XmlSuite suite = new XmlSuite(); suite.setName("Suite_" + nr); new XmlTest(suite).setXmlClasses(Collections.singletonList(new XmlClass(Test1.class))); return suite; } }
@Test public void testIfTestnamesComesFromDifferentSuite() { XmlSuite parentSuite = createDummySuiteWithTestNamesAs("test1", "test2"); parentSuite.setName("parent_suite"); XmlSuite childSuite = createDummySuiteWithTestNamesAs("test3", "test4"); childSuite.setName("child_suite"); parentSuite.getChildSuites().add(childSuite); XmlSuite childOfChildSuite = createDummySuiteWithTestNamesAs("test5", "test6"); childSuite.getChildSuites().add(childOfChildSuite); TestNamesMatcher testNamesMatcher = new TestNamesMatcher( parentSuite, new ArrayList<>(Arrays.asList("test1", "test3", "test5"))); List<String> matchedTestnames = Lists.newArrayList(); for (XmlTest xmlTest : testNamesMatcher.getMatchedTests()) { matchedTestnames.add(xmlTest.getName()); } assertThat(matchedTestnames).hasSameElementsAs(Arrays.asList("test1", "test3", "test5")); }
protected void generateFailureSuite(XmlSuite xmlSuite, ISuite suite, String outputDir) { XmlSuite failedSuite = xmlSuite.shallowCopy(); failedSuite.setName("Failed suite [" + xmlSuite.getName() + "]"); m_xmlSuite= failedSuite; Map<String, ISuiteResult> results = suite.getResults(); for(Map.Entry<String, ISuiteResult> entry : results.entrySet()) { ISuiteResult suiteResult = entry.getValue(); ITestContext testContext = suiteResult.getTestContext(); generateXmlTest(testContext.getCurrentXmlTest(), testContext, testContext.getFailedTests().getAllResults(), testContext.getSkippedTests().getAllResults()); } if(null != failedSuite.getTests() && failedSuite.getTests().size() > 0) { Utils.writeUtf8File(outputDir, TESTNG_FAILED_XML, failedSuite.toXml()); Utils.writeUtf8File(suite.getOutputDirectory(), TESTNG_FAILED_XML, failedSuite.toXml()); } }
private static void runTest(Class<?> classToBeFound, int expectedCount, Class<?>... classes) { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("xml_suite"); newXmlTest("test1", xmlSuite, classes); newXmlTest("test2", xmlSuite, classes); newXmlTest("test3", xmlSuite, classes); XmlClass[] xmlClasses = ClassHelper.findClassesInSameTest(classToBeFound, xmlSuite); assertThat(xmlClasses.length).isEqualTo(expectedCount); }
protected static XmlSuite createDummySuiteWithTestNamesAs(String... tests) { XmlSuite suite = new XmlSuite(); suite.setName("random_suite"); for (String test : tests) { XmlTest xmlTest = new XmlTest(suite); xmlTest.setName(test); } return suite; }
public static XmlSuite createSuite(String cls, String suiteName) { XmlSuite result = new XmlSuite(); result.setName(suiteName); XmlTest test = new XmlTest(result); test.setName("TmpTest"); test.setXmlClasses(Collections.singletonList(new XmlClass(cls))); return result; }
public FakeTestContext(Class<?>... classes) { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("xml_suite"); xmlTest = new XmlTest(xmlSuite); for (Class<?> clazz : classes) { xmlTest.getXmlClasses().add(new XmlClass(clazz)); } Map<String, String> map = Maps.newHashMap(); map.put("foo", "bar"); xmlTest.setParameters(map); suite = new FakeSuite(xmlTest); }
protected void generateFailureSuite(XmlSuite xmlSuite, ISuite suite, String outputDir) { XmlSuite failedSuite = xmlSuite.shallowCopy(); failedSuite.setName("Failed suite [" + xmlSuite.getName() + "]"); m_xmlSuite = failedSuite; Map<String, ISuiteResult> results = suite.getResults(); for (Map.Entry<String, ISuiteResult> entry : results.entrySet()) { ISuiteResult suiteResult = entry.getValue(); ITestContext testContext = suiteResult.getTestContext(); generateXmlTest( testContext.getCurrentXmlTest(), testContext, testContext.getFailedTests().getAllResults(), testContext.getSkippedTests().getAllResults()); } if (null != failedSuite.getTests() && failedSuite.getTests().size() > 0) { Utils.writeUtf8File(outputDir, TESTNG_FAILED_XML, failedSuite.toXml()); Utils.writeUtf8File(suite.getOutputDirectory(), TESTNG_FAILED_XML, failedSuite.toXml()); } }
/** * Checks that suites created programmatically also run as expected */ @Test public void checkTestNamesForProgrammaticSuites() { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("SanityCheckSuite"); XmlTest result = new XmlTest(xmlSuite); result.getXmlClasses().add(new XmlClass(SampleTest1.class.getCanonicalName())); result = new XmlTest(xmlSuite); result.getXmlClasses().add(new XmlClass(SampleTest2.class.getCanonicalName())); TestNG tng = new TestNG(); tng.setVerbose(0); tng.setXmlSuites(Collections.singletonList(xmlSuite)); tng.run(); } }
public static List<ITestNGMethod> extractTestNGMethods(Class<?>... classes) { XmlSuite xmlSuite = new XmlSuite(); xmlSuite.setName("suite"); XmlTest xmlTest = createXmlTest(xmlSuite, "tests", classes); IAnnotationFinder annotationFinder = new JDK15AnnotationFinder(new DefaultAnnotationTransformer()); List<ITestNGMethod> methods = Lists.newArrayList(); for (Class<?> clazz : classes) { methods.addAll( Arrays.asList( AnnotationHelper.findMethodsWithAnnotation(clazz, ITestAnnotation.class, annotationFinder, xmlTest) ) ); } return methods; }
@Test public void verify() { XmlSuite suite = new XmlSuite(); suite.setName("Suite"); XmlTest test = new XmlTest(suite); test.setName("Test"); XmlClass c1 = new XmlClass(B.class); c1.setIncludedMethods(Collections.singletonList(new XmlInclude("b"))); XmlClass c2 = new XmlClass(Base.class); c2.setIncludedMethods(Collections.singletonList(new XmlInclude("b"))); test.setXmlClasses(Arrays.asList(c1, c2)); TestNG tng = new TestNG(); tng.setVerbose(0); tng.setXmlSuites(Collections.singletonList(suite)); TestListenerAdapter tla = new TestListenerAdapter(); tng.addListener((ITestNGListener) tla); tng.run(); Assert.assertEquals(tla.getPassedTests().size(), 2); } }
/** * This method returns a shallow cloned version. {@link XmlTest} are not copied by this method. * @return - A Shallow copied version of {@link XmlSuite}. */ public XmlSuite shallowCopy() { XmlSuite result = new XmlSuite(); result.setName(getName()); result.setFileName(getFileName()); result.setListeners(getListeners()); result.setParallel(getParallel()); result.setParentModule(getParentModule()); result.setGuiceStage(getGuiceStage()); result.setConfigFailurePolicy(getConfigFailurePolicy()); result.setThreadCount(getThreadCount()); result.setDataProviderThreadCount(getDataProviderThreadCount()); result.setParameters(getParameters()); result.setVerbose(getVerbose()); result.setXmlPackages(getXmlPackages()); // result.setBeanShellExpression(getExpression()); result.setMethodSelectors(getMethodSelectors()); result.setJUnit(isJUnit()); // TESTNG-141 result.setSkipFailedInvocationCounts(skipFailedInvocationCounts()); result.setObjectFactory(getObjectFactory()); result.setAllowReturnValues(getAllowReturnValues()); result.setTimeOut(getTimeOut()); return result; }