Exemplo n.º 1
0
  /** {@inheritDoc} */
  @Override
  public void testStopped(final Result result) {
    LOGGER.info("result is : ---- " + result.getAssert() + " ----");
    long cost = System.currentTimeMillis() - currentTestStartTime;

    ResultItem item = new ResultItem();
    item.id = currentTestCase.getId();
    item.res = result.getAssert();
    item.notes = result.getReason();
    item.costInMS = cost;
    item.spec = currentTestCase.getSpecSection();
    item.desc = currentTestCase.getDescription();

    String prefix = "" + currentTestCase.getId() + ".";

    if (result.getAssert() != TestResult.SKIP) {
      final PatternLayout layout = new PatternLayout();
      layout.setConversionPattern("%6r [%-20.20t] %-5p %30.30c (%6L) %x %m%n");
      final File remoteFile = new File(reportDir, prefix + "remote.log");
      final File localFile = new File(reportDir, prefix + "local.log");
      final File resourceFile = new File(reportDir, prefix + "resource.log");
      try {
        remoteAppender.writeToFile(layout, remoteFile);
        item.remoteLogURI = "file:" + remoteFile.getName();
        boolean hasError = remoteAppender.hasErrorLevelEvent();
        item.hasErrorLevelLog = Boolean.toString(hasError);
        localAppender.writeToFile(layout, localFile);
        item.localLogURI = "file:" + localFile.getName();
        resourceAppender.writeToFile(layout, resourceFile);
        item.resourceLog = filterReturn(resourceAppender);
      } catch (IOException e) {
        LOGGER.error(e.getMessage(), e);
        return;
      }
    }

    reportDoc.add(item);
    currentTestCase = null;

    // write to file.
    final File report = new File(reportDir, reportName);
    try {
      LOGGER.info("writing report to: '" + report.getCanonicalPath() + "'");
      writeReport(report);
    } catch (IOException e) {
      LOGGER.error("error writing the report", e);
    }
  }