XmlClass xmlClass = new XmlClass(); populateAttributes(item4, xmlClass); xmlTest.getClasses().add(xmlClass);
XmlClass xmlClass = new XmlClass(); populateAttributes(item4, xmlClass); xmlTest.getClasses().add(xmlClass);
/** * Get local parameters of one include method from origin test xml. * @param srcXmlTest The {@link XmlTest} object that represents the source. * @param method the method we want to find its parameters * @return local parameters belong to one test method. */ private static Map<String, String> findMethodLocalParameters(XmlTest srcXmlTest, ITestNGMethod method) { Class clazz = method.getRealClass(); for (XmlClass c : srcXmlTest.getClasses()) { if (clazz == c.getSupportClass()) { for (XmlInclude xmlInclude : c.getIncludedMethods()) { if (xmlInclude.getName().equals(method.getMethodName())) { return xmlInclude.getLocalParameters(); } } } } return Collections.emptyMap(); }
for (XmlClass c : srcXmlTest.getClasses()) { parameters.putAll(c.getLocalParameters());
for (XmlSuite s : result) { for (XmlTest t : s.getTests()) { xmlClasses.addAll(t.getClasses());
/** * Get local parameters of one include method from origin test xml. * * @param srcXmlTest The {@link XmlTest} object that represents the source. * @param method the method we want to find its parameters * @return local parameters belong to one test method. */ private static Map<String, String> findMethodLocalParameters( XmlTest srcXmlTest, ITestNGMethod method) { Class clazz = method.getRealClass(); for (XmlClass c : srcXmlTest.getClasses()) { if (clazz == c.getSupportClass()) { for (XmlInclude xmlInclude : c.getIncludedMethods()) { if (xmlInclude.getName().equals(method.getMethodName())) { return xmlInclude.getLocalParameters(); } } } } return Collections.emptyMap(); } }
@Test(description = "GITHUB-435") public void ensureSuiteLevelPackageIsAppliedToAllTests() throws IOException { Parser parser = new Parser("src/test/resources/xml/issue435.xml"); List<XmlSuite> suites = parser.parseToList(); XmlSuite xmlsuite = suites.get(0); assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(0); TestNG testNG = create(); testNG.setXmlSuites(suites); testNG.setUseDefaultListeners(false); testNG.run(); assertThat(xmlsuite.getTests().get(0).getClasses().size()).isEqualTo(1); }
for (XmlSuite s : result) { for (XmlTest t : s.getTests()) { xmlClasses.addAll(t.getClasses());
@Override public void alter(List<XmlSuite> suites) { XmlSuite suite = suites.get(0); List<XmlTest> tests = suite.getTests(); XmlTest test = tests.get(0); XmlTest anotherTest = new XmlTest(suite); anotherTest.setName("foo"); anotherTest.setClasses(test.getClasses()); } }
for (XmlClass c : srcXmlTest.getClasses()) { classParameters.put(c.getName(),c.getLocalParameters());
@Test(description = "Fix for https://github.com/cbeust/testng/issues/90") public void afterClassShouldRun() { XmlSuite s = createXmlSuite("Bug90"); XmlTest t = createXmlTest(s, "Bug90 test", Sample.class.getName()); XmlClass c = t.getClasses().get(0); c.setIncludedMethods(Collections.singletonList(new XmlInclude("test1"))); TestNG tng = create(); tng.setXmlSuites(Collections.singletonList(s)); Sample.m_afterClassWasRun = false; tng.run(); Assert.assertTrue(Sample.m_afterClassWasRun); } }
t.setSuite(result); int index = 0; for (XmlClass c : t.getClasses()) { c.setIndex(index++);
@Test //We are explicitly not including any assertions here because the intent of this test is to //ensure that there are no exceptions triggered related to circular dependency. public void testEnsureNoCyclicDependencyTriggered() { XmlSuite suite = createXmlSuite("sample_suite"); XmlTest test = createXmlTest(suite, "sample_test"); XmlClass entryOne = new XmlClass(TestClassSample.class); createXmlInclude(entryOne, "testMethodTwo"); test.getClasses().add(entryOne); XmlClass entryTwo = new XmlClass(TestClassSample.class); createXmlInclude(entryTwo, "testMethodOne"); test.getClasses().add(entryTwo); TestNG testng = create(suite); testng.run(); }
XmlSuite failedSuite = failedSuites.iterator().next(); XmlTest failedTest = failedSuite.getTests().get(0); XmlClass failedClass1 = failedTest.getClasses().stream() .filter( failedClass -> failedClass.getName().equals("test.reports.SimpleFailedSample")) .findFirst().get(); XmlClass failedClass2 = failedTest.getClasses().stream() .filter( failedClass -> failedClass.getName().equals("test.failedreporter.FailedReporterParametersTest$AnotherSimpleFailedSample")) .findFirst().get();
t.setSuite(result); int index = 0; for (XmlClass c : t.getClasses()) { c.setIndex(index++);
@Test public void failedFile() throws ParserConfigurationException, SAXException, IOException { XmlSuite xmlSuite = createXmlSuite("Suite"); xmlSuite.getParameters().put("n", "42"); XmlTest xmlTest = createXmlTest(xmlSuite, "Test"); xmlTest.addParameter("o", "43"); XmlClass xmlClass = createXmlClass(xmlTest, SimpleFailedSample.class); xmlClass.getLocalParameters().put("p", "44"); TestNG tng = create(xmlSuite); Path temp = Files.createTempDirectory("tmp"); tng.setOutputDirectory(temp.toAbsolutePath().toString()); tng.addListener((ITestNGListener) new FailedReporter()); tng.run(); Collection<XmlSuite> failedSuites = new Parser(temp.resolve(FailedReporter.TESTNG_FAILED_XML).toAbsolutePath().toString()).parse(); XmlSuite failedSuite = failedSuites.iterator().next(); Assert.assertEquals("42", failedSuite.getParameter("n")); XmlTest failedTest = failedSuite.getTests().get(0); Assert.assertEquals("43", failedTest.getParameter("o")); XmlClass failedClass = failedTest.getClasses().get(0); Assert.assertEquals("44", failedClass.getAllParameters().get("p")); } }
protected void resetSingleXmlSuite(XmlSuite suite) { for (XmlTest xmlTest : suite.getTests()) { for (XmlClass xmlClass : xmlTest.getClasses()) { Class testClass = xmlClass.getSupportClass(); if (testClass.getAnnotation(TestNGOnArk.class) != null) { if (!DelegateArkContainer.isStarted()) { DelegateArkContainer.launch(testClass); ClassLoaderUtils.pushContextClassLoader(ClassLoader.getSystemClassLoader()); } try { xmlClass.setClass(DelegateArkContainer.getTestClassLoader().loadClass( testClass.getCanonicalName())); } catch (ClassNotFoundException ex) { throw new ArkRuntimeException(String.format( "Load testNG test class %s failed.", testClass.getCanonicalName()), ex); } } } } }
private void runSuite(OutputStream os, Class<?> clazz, String methodName) throws IOException { ObjectOutputStream oos = new ObjectOutputStream(os); TestNG testNG = new TestNG(); testNG.setUseDefaultListeners(false); testNG.setVerbose(0); ContainerResultListener listener = new ContainerResultListener(oos); testNG.addListener(listener); XmlSuite suite = new XmlSuite(); suite.setName("PaxExamInternal"); XmlTest xmlTest = new XmlTest(suite); XmlClass xmlClass = new XmlClass(clazz); xmlTest.getClasses().add(xmlClass); if (methodName != null) { XmlInclude xmlInclude = new XmlInclude(methodName); xmlClass.getIncludedMethods().add(xmlInclude); } testNG.setXmlSuites(Arrays.asList(suite)); testNG.run(); } }
for (XmlClass cl : testResult.getTestContext().getCurrentXmlTest().getClasses())
private void runTestWithTestNG(TestDescription description, TestListener listener) { TestNG testNG = new TestNG(); testNG.setVerbose(0); testNG.setUseDefaultListeners(false); ContainerResultListener resultListener = new ContainerResultListener(listener); testNG.addListener(resultListener); XmlSuite suite = new XmlSuite(); suite.setName("PaxExamInternal"); XmlTest xmlTest = new XmlTest(suite); XmlClass xmlClass = new XmlClass(description.getClassName()); xmlTest.getClasses().add(xmlClass); if (description.getMethodName() != null) { XmlInclude xmlInclude = new XmlInclude(description.getMethodName()); xmlClass.getIncludedMethods().add(xmlInclude); } testNG.setXmlSuites(Collections.singletonList(suite)); testNG.run(); }