@Override public void onTestSkipped(ITestResult tr) { LOG.info("[%s] -- Test method skipped", tr.getName()); }
@Override public void onTestFailure(ITestResult tr) { LOG.info("[%s] -- Test method failed", tr.getName()); }
@Override public void onTestSuccess(ITestResult tr) { LOG.info("[%s] -- Test method passed", tr.getName()); }
@Override public void onTestStart(ITestResult tr) { LOG.info("[%s] -- TEST START", tr.getName()); }
@Override public void afterInvocation(IInvokedMethod method, ITestResult testResult) { report.finish(testResult.getName()); } }
@Override public boolean retry(ITestResult result) { invocations.add(result.getName()); return retriesRemaining.getAndDecrement() >= 0; }
@Override public boolean retry(ITestResult result) { invocations.add(result.getName()); return remainingRetries.getAndDecrement() > 0; } }
private static List<String> getNames(List<ITestResult> results) { List<String> names = new ArrayList<>(results.size()); for (ITestResult result : results) { names.add(result.getName()); } return names; }
private void verifyTests(String title, String[] expected, List<ITestResult> found) { List<String> resultMethods = new ArrayList<>(); for( ITestResult result : found ) { resultMethods.add( result.getName() ); } Assert.assertEquals(resultMethods.size(), expected.length, "wrong number of " + title + " tests"); for(String e : expected) { Assert.assertTrue(resultMethods.contains(e), "Expected to find method " + e + " in " + title + " but didn't find it."); } }
private void validate(String[] expectPassed) { List<ITestResult> passed = m_tla.getPassedTests(); Assert.assertEquals(passed.size(), expectPassed.length); // doing this index based is probably not the best for (int i = 0; i < expectPassed.length; i++) { Assert.assertEquals(passed.get(i).getName(), expectPassed[i]); } } }
private void getTestMethodReport(IResultMap testResultMap) { testResultMap.getAllResults().forEach(iTestResult -> logs.add(iTestResult.getName())); } }
@Test public void jarWithTestngXml() { TestListenerAdapter tla = init("withtestngxml.jar"); Assert.assertEquals(tla.getPassedTests().size(), 2); String first = tla.getPassedTests().get(0).getName(); String second = tla.getPassedTests().get(1).getName(); boolean fThenG = "f".equals(first) && "g".equals(second); boolean gThenF = "g".equals(first) && "f".equals(second); Assert.assertTrue(fThenG || gThenF); }
@Test public void jarWithoutTestngXml() { TestListenerAdapter tla = init("withouttestngxml.jar"); Assert.assertEquals(tla.getPassedTests().size(), 2); String first = tla.getPassedTests().get(0).getName(); String second = tla.getPassedTests().get(1).getName(); boolean fThenG = "f".equals(first) && "g".equals(second); boolean gThenF = "g".equals(first) && "f".equals(second); Assert.assertTrue(fThenG || gThenF); } }
@Override public void afterInvocation(IInvokedMethod method, ITestResult testResult) { if (testResult.isSuccess() && onSucceededTest || !testResult.isSuccess() && onFailedTest) { if (isClassAnnotatedWithReport(method)) { report.finish(testResult.getName()); } } report.clean(); }
private void logResult(String status, ITestResult tr, String stackTrace) { logResult(status, tr.getName(), tr.getMethod().getDescription(), stackTrace, tr.getParameters(), tr.getMethod().getConstructorOrMethod().getParameterTypes()); }
@Override public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outputDirectory) { for (ISuite suite : suites) { for (IInvokedMethod method : suite.getAllInvokedMethods()) { names.add(method.getTestResult().getName()); testNames.add(method.getTestResult().getTestName()); } } }
private void failIfErrors(ITestResult result) { ErrorsCollector errorsCollector = SelenideLogger.removeListener(LISTENER_SOFT_ASSERT); if (errorsCollector != null) { try { errorsCollector.failIfErrors(result.getTestClass().getName() + '.' + result.getName()); } catch (AssertionError e) { result.setStatus(ITestResult.FAILURE); result.setThrowable(e); } } } }
private void logResult(String status, ITestResult tr, String stackTrace) { logResult( status, tr.getName(), tr.getMethod().getDescription(), stackTrace, tr.getParameters(), tr.getMethod().getConstructorOrMethod().getParameterTypes()); }
@Test public void testMultipleInterceptors(){ TestNG tng = create(FooTest.class); tng.setMethodInterceptor(new FirstInterceptor()); tng.setMethodInterceptor(new SecondInterceptor()); tng.setMethodInterceptor(new ThirdInterceptor()); TestListenerAdapter tla = new TestListenerAdapter(); tng.addListener((ITestNGListener) tla); tng.run(); Assert.assertEquals(tla.getPassedTests().size(), 1); Assert.assertEquals(tla.getPassedTests().get(0).getName(), "d"); }
private void createElement(XMLStringBuffer doc, ITestResult tr) { long elapsedTimeMillis= tr.getEndMillis() - tr.getStartMillis(); Properties attrs= getPropertiesFor(tr.getMethod(), elapsedTimeMillis); if (tr.getMethod().isTest()) { attrs.setProperty(XMLConstants.ATTR_NAME, tr.getName()); } if((ITestResult.FAILURE == tr.getStatus()) || (ITestResult.SKIP == tr.getStatus())) { doc.push(XMLConstants.TESTCASE, attrs); if(ITestResult.FAILURE == tr.getStatus()) { createFailureElement(doc, tr); } else if(ITestResult.SKIP == tr.getStatus()) { createSkipElement(doc); } doc.pop(); } else { doc.addEmptyElement(XMLConstants.TESTCASE, attrs); } }