/** * Invoked after all the tests have run and all their * Configuration methods have been called. * */ @Override public void onFinish(ITestContext context) { generateReport(context); resetAll(); }
private synchronized void createElementFromTestResults(XMLStringBuffer document, Collection<ITestResult> results) { for(ITestResult tr : results) { createElement(document, tr); } }
Set<String> packages = getPackages(context); if (packages.size() > 0) { attrs.setProperty(XMLConstants.ATTR_NAME, context.getCurrentXmlTest().getName()); Double.toString((context.getEndDate().getTime() - context.getStartDate().getTime()) / 1000.0)); attrs.setProperty(XMLConstants.ATTR_TIMESTAMP, timeAsGmt()); createElementFromTestResults(document, m_configIssues); createElementFromTestResults(document, m_allTests); createElementFromIgnoredTests(document, context); Utils.writeUtf8File(context.getOutputDirectory(),generateFileName(context) + ".xml", document.toXML());
Set<String> packages = getPackages(context); if (packages.size() > 0) { attrs.setProperty(XMLConstants.ATTR_NAME, context.getCurrentXmlTest().getName()); (context.getEndDate().getTime() - context.getStartDate().getTime()) / 1000.0)); attrs.setProperty(XMLConstants.ATTR_TIMESTAMP, formattedTime()); createElementFromTestResults(document, m_configIssues); createElementFromTestResults(document, m_allTests); createElementFromIgnoredTests(document, context); context.getOutputDirectory(), generateFileName(context) + ".xml", document.toXML());
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); } }
@Override public TestRunner newTestRunner(ISuite suite, XmlTest test, Collection<IInvokedMethodListener> listeners, List<IClassListener> classListeners, Map<Class<? extends IDataProviderListener>, IDataProviderListener> dataProviderListeners) { boolean skip = skipFailedInvocationCounts; if (! skip) { skip = test.skipFailedInvocationCounts(); } TestRunner testRunner = new TestRunner(configuration, suite, test, suite.getOutputDirectory(), suite.getAnnotationFinder(), skip, listeners, classListeners, comparator, dataProviderListeners); if (useDefaultListeners) { testRunner.addListener(new TestHTMLReporter()); testRunner.addListener(new JUnitXMLReporter()); //TODO: Moved these here because maven2 has output reporters running //already, the output from these causes directories to be created with //files. This is not the desired behaviour of running tests in maven2. //Don't know what to do about this though, are people relying on these //to be added even with defaultListeners set to false? testRunner.addListener(new TextReporter(testRunner.getName(), TestRunner.getVerbose())); } for (ITestListener itl : failureGenerators) { testRunner.addTestListener(itl); } for (IConfigurationListener cl : configuration.getConfigurationListeners()) { testRunner.addConfigurationListener(cl); } return testRunner; } }
protected void generateReport(ITestContext context) { super.generateReport(context); String dir = context.getOutputDirectory(); File directory = new File(dir); File[] files = directory.listFiles((dir1, name) -> name.endsWith(".xml")); testsuites.addAll(getSuites(files)); }
private void createFailureElement(XMLStringBuffer doc, ITestResult tr) { Properties attrs= new Properties(); Throwable t= tr.getThrowable(); if(t != null) { attrs.setProperty(XMLConstants.ATTR_TYPE, t.getClass().getName()); String message= t.getMessage(); if((message != null) && (message.length() > 0)) { attrs.setProperty(XMLConstants.ATTR_MESSAGE, encodeAttr(message)); // ENCODE } doc.push(XMLConstants.FAILURE, attrs); doc.addCDATA(Utils.shortStackTrace(t, false)); doc.pop(); } else { doc.addEmptyElement(XMLConstants.FAILURE); // THIS IS AN ERROR } }
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); } }
testRunner.addListener(new JUnitXMLReporter());
private void createFailureElement(XMLStringBuffer doc, ITestResult tr) { Properties attrs = new Properties(); Throwable t = tr.getThrowable(); if (t != null) { attrs.setProperty(XMLConstants.ATTR_TYPE, t.getClass().getName()); String message = t.getMessage(); if ((message != null) && (message.length() > 0)) { attrs.setProperty(XMLConstants.ATTR_MESSAGE, encodeAttr(message)); // ENCODE } doc.push(XMLConstants.FAILURE, attrs); doc.addCDATA(Utils.shortStackTrace(t, false)); doc.pop(); } else { doc.addEmptyElement(XMLConstants.FAILURE); // THIS IS AN ERROR } }
/** Invoked after all the tests have run and all their Configuration methods have been called. */ @Override public void onFinish(ITestContext context) { generateReport(context); resetAll(); }
@Override public TestRunner newTestRunner(ISuite suite, XmlTest test, Collection<IInvokedMethodListener> listeners, List<IClassListener> classListeners) { TestRunner testRunner= new TestRunner(m_baseTest.getConfiguration(), suite, test, false, listeners, classListeners, Systematiser.getComparator()); testRunner.addListener(new TestHTMLReporter()); testRunner.addListener(new JUnitXMLReporter()); testRunner.addListener(new TestListener(m_baseTest)); if (listeners != null) { for (IInvokedMethodListener l : listeners) { testRunner.addListener(l); } } return testRunner; } }
private synchronized void createElementFromTestResults( XMLStringBuffer document, Collection<ITestResult> results) { for (ITestResult tr : results) { createElement(document, tr); } }