private static int computeTestStatusComparingTestResultAndStatusHolder(ITestResult testResult, StatusHolder holder, boolean wasResultUnaltered) { if (wasResultUnaltered) { return holder.status; } return testResult.getStatus(); }
private static int computeTestStatusComparingTestResultAndStatusHolder( ITestResult testResult, StatusHolder holder, boolean wasResultUnaltered) { if (wasResultUnaltered) { return holder.status; } return testResult.getStatus(); }
@AfterMethod public void tearDown(ITestResult result) { if (result.getStatus() == ITestResult.FAILURE) { //your screenshooting code goes here } }
private static void setTestStatus(ITestResult result, int status) { // set the test to success as long as the testResult hasn't been changed by the user via // Reporter.getCurrentTestResult if (result.getStatus() == ITestResult.STARTED) { result.setStatus(status); } }
private static void setTestStatus(ITestResult result, int status) { // set the test to success as long as the testResult hasn't been changed by the user via // Reporter.getCurrentTestResult if (result.getStatus() == ITestResult.STARTED) { result.setStatus(status); } }
static void runPostConfigurationListeners(ITestResult tr, List<IConfigurationListener> listeners) { for (IConfigurationListener icl : listeners) { switch (tr.getStatus()) { case ITestResult.SKIP: icl.onConfigurationSkip(tr); break; case ITestResult.FAILURE: icl.onConfigurationFailure(tr); break; case ITestResult.SUCCESS: icl.onConfigurationSuccess(tr); break; default: throw new AssertionError("Unexpected value: " + tr.getStatus()); } } }
private List<ITestResult> getMethodsByStatus(ISuite suite, int status) { List<ITestResult> result = Lists.newArrayList(); List<ITestResult> testResults = getModel().getTestResults(suite); for (ITestResult tr : testResults) { if (tr.getStatus() == status) { result.add(tr); } } Collections.sort(result, ResultsByClass.METHOD_NAME_COMPARATOR); return result; }
private TestTag createTestTagFor(ITestResult tr, Class<?> cls) { TestTag testTag = new TestTag(); Properties p2 = new Properties(); p2.setProperty(XMLConstants.ATTR_CLASSNAME, cls.getName()); p2.setProperty(XMLConstants.ATTR_NAME, getTestName(tr)); int status = tr.getStatus(); if (status == ITestResult.SKIP || status == ITestResult.SUCCESS_PERCENTAGE_FAILURE) { testTag.childTag = XMLConstants.SKIPPED; } else if (status == ITestResult.FAILURE) { handleFailure(testTag, tr.getThrowable()); } testTag.properties = p2; return testTag; }
private List<ITestResult> getMethodsByStatus( ISuite suite, int status, Predicate<ITestResult> condition) { List<ITestResult> result = Lists.newArrayList(); List<ITestResult> testResults = getModel().getTestResults(suite); for (ITestResult tr : testResults) { if (tr.getStatus() == status && condition.test(tr)) { result.add(tr); } } result.sort(ResultsByClass.METHOD_NAME_COMPARATOR); return result; }
private TestTag createTestTagFor(ITestResult tr, Class<?> cls) { TestTag testTag = new TestTag(); Properties p2 = new Properties(); p2.setProperty(XMLConstants.ATTR_CLASSNAME, cls.getName()); p2.setProperty(XMLConstants.ATTR_NAME, getTestName(tr)); int status = tr.getStatus(); if (status == ITestResult.SKIP || status == ITestResult.SUCCESS_PERCENTAGE_FAILURE) { testTag.childTag = XMLConstants.SKIPPED; } else if (status == ITestResult.FAILURE) { handleFailure(testTag, tr.getThrowable()); } testTag.properties = p2; return testTag; }
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); } }
@AfterMethod public void after(Method m, ITestResult r) { String name = m.getName(); assertThat(m_testResult.getMethod()).isEqualTo(r.getMethod()); assertThat(attributesFrom(m_testResult)).isEqualTo(attributesFrom(r)); if (("pass".equals(name) && r.getStatus() == ITestResult.SUCCESS) || ("fail".equals(name) && r.getStatus() == ITestResult.FAILURE) || ("skip".equals(name) && r.getStatus() == ITestResult.SKIP)) { m_success--; } }
private void collectResults(ITestNGMethod testMethod, ITestResult result) { // Collect the results int status = result.getStatus(); if(ITestResult.SUCCESS == status) { m_notifier.addPassedTest(testMethod, result); } else if(ITestResult.SKIP == status) { m_notifier.addSkippedTest(testMethod, result); } else if(ITestResult.FAILURE == status) { m_notifier.addFailedTest(testMethod, result); } else if(ITestResult.SUCCESS_PERCENTAGE_FAILURE == status) { m_notifier.addFailedButWithinSuccessPercentageTest(testMethod, result); } else { assert false : "UNKNOWN STATUS:" + status; } }
private void addTestResult(XMLStringBuffer xmlBuffer, ITestResult testResult) { Properties attribs = getTestResultAttributes(testResult); attribs.setProperty(XMLReporterConfig.ATTR_STATUS, getStatusString(testResult.getStatus())); xmlBuffer.push(XMLReporterConfig.TAG_TEST_METHOD, attribs); addTestMethodParams(xmlBuffer, testResult); addTestResultException(xmlBuffer, testResult); addTestResultOutput(xmlBuffer, testResult); if (config.isGenerateTestResultAttributes()) { addTestResultAttributes(xmlBuffer, testResult); } xmlBuffer.pop(); }
@Override public void generateReport(List<XmlSuite> xmlSuites, List<ISuite> suites, String outDir) { suites.stream() .flatMap(suite -> suite.getResults().values().stream()) .flatMap(suiteResult -> suiteResult.getTestContext().getSkippedTests().getAllResults().stream()) .forEach(this::generateReport); suites.stream() .flatMap(iSuite -> iSuite.getAllInvokedMethods().stream()) .collect(Collectors.toList()) .forEach(im -> { results.put(im.getTestMethod().getMethodName(), im.getTestResult().getStatus()); }); }
@BeforeClass public void beforeClass(ITestContext context) throws InterruptedException { TimeUnit.SECONDS.sleep(1); ITestResult result = context.getSuite().getAllInvokedMethods().get(0).getTestResult(); startStatus = result.getStatus(); startTimestamp = result.getEndMillis(); }
@Override public void afterInvocation(IInvokedMethod method, ITestResult testResult) { m_afterCount++; if (method.getTestMethod().isAfterSuiteConfiguration()) { suiteStatus = testResult.getStatus(); suiteThrowable = testResult.getThrowable(); } if (method.getTestMethod().isTest()) { methodStatus = testResult.getStatus(); methodThrowable = testResult.getThrowable(); } }
@Override public void afterInvocation(IInvokedMethod iInvokedMethod, ITestResult iTestResult) { if (iInvokedMethod.isTestMethod()) { String attribute = Github1600Analyzer.NO; if (iTestResult.getStatus() == ITestResult.SUCCESS) { iTestResult.setStatus(ITestResult.FAILURE); attribute = Github1600Analyzer.YES; } iTestResult.setAttribute(Github1600Analyzer.RETRY, attribute); } }
@Override public void afterInvocation(final IInvokedMethod method, final ITestResult testResult) { if (!method.isTestMethod()) { return; } if (testResult.getStatus() == ITestResult.FAILURE) { // Don't skip other tests with the current test method is flaky final boolean isFlakyTest = method.getTestMethod().getRetryAnalyzer() != null && method.getTestMethod().getRetryAnalyzer() instanceof FlakyRetryAnalyzer; if (!isFlakyTest) { synchronized (this) { logger.warn("!!! Test failure, all other tests will be skipped: {} !!!", testResult); hasFailures = true; } } } }