类org.apache.maven.plugins.surefire.report.ReportTestCase源码实例Demo

下面列出了怎么用org.apache.maven.plugins.surefire.report.ReportTestCase的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: testgrid   文件: SurefireReporter.java
private List<TestResult.TestCaseResult> getTests(List<ReportTestCase> failureDetails,
        Predicate<? super ReportTestCase> filter) {
    return failureDetails.parallelStream()
            .filter(filter)
            .map(tc -> {
                String failureMsg = tc.getFailureMessage() == null ? "" : tc.getFailureMessage();
                failureMsg = failureMsg.length() < FAILURE_MSG_LENGTH ?
                        failureMsg
                        : failureMsg.substring(0, FAILURE_MSG_LENGTH) + "...";
                TestResult.TestCaseResult tcr = new TestResult.TestCaseResult();
                tcr.className = tc.getClassName();
                tcr.methodName = tc.getName();
                tcr.failureMessage = failureMsg;
                tcr.failingSince = "0"; // todo add historical data of the test cases.

                return tcr;
            })
            .collect(Collectors.toList());
}
 
源代码2 项目: testgrid   文件: SurefireReporter.java
/**
 * Parses the surefire reports and returns a summarized TestResult object.
 *
 * @param testPlan the testplan
 * @return test result
 */
public TestResult getReport(TestPlan testPlan) {
    TestResult testResult = new TestResult();
    try {
        Path filePath = TestGridUtil.getSurefireReportsDir(testPlan);
        final SurefireReportParser surefireReportParser = new SurefireReportParser(
                Collections.singletonList(filePath.toFile()),
                ENGLISH,
                new NullConsoleLogger());
        final List<ReportTestSuite> reportTestSuites = surefireReportParser.parseXMLReportFiles();
        final Map<String, String> summary = surefireReportParser.getSummary(reportTestSuites);
        testResult.totalTests = summary.get("totalTests");
        testResult.totalFailures = summary.get("totalFailures");
        testResult.totalErrors = summary.get("totalErrors");
        testResult.totalSkipped = summary.get("totalSkipped");

        final List<ReportTestCase> failureDetails = surefireReportParser.getFailureDetails(reportTestSuites);
        testResult.failureTests = getTests(failureDetails, ReportTestCase::hasFailure);
        testResult.errorTests = getTests(failureDetails, ReportTestCase::hasError);

        return testResult;
    } catch (MavenReportException e) {
        logger.warn("Error while processing surefire-reports for " + testPlan.getId() + " for infra combination:"
                + " " + testPlan.getInfraParameters() + ". Continuing processing of other test plans", e);
    }

    return testResult;
}
 
源代码3 项目: wisdom   文件: UnitTestMojo.java
private static void computeTestFailureMessageFromReports(StringBuilder message, SurefireReportParser parser)
        throws MavenReportException {
    List<ReportTestSuite> suites = parser.parseXMLReportFiles();
    Map<String, String> summary = parser.getSummary(suites);
    message
            .append(summary.get("totalTests"))
            .append(" tests, ")
            .append(summary.get("totalErrors"))
            .append(" errors, ")
            .append(summary.get("totalFailures"))
            .append(" failures, ")
            .append(summary.get("totalSkipped"))
            .append(" skipped ")
            .append("(executed in ")
            .append(summary.get("totalElapsedTime"))
            .append("s)<br/><ul>");
    for (ReportTestSuite suite : suites) {
        if (suite.getNumberOfErrors() > 0 || suite.getNumberOfFailures() > 0) {
            for (ReportTestCase tc : suite.getTestCases()) {
                if (tc.getFailure() != null
                        && !"skipped".equalsIgnoreCase((String) tc.getFailure().get("message"))) {
                    message
                            .append("<li><em>")
                            .append(tc.getFullName())
                            .append("</em> failed: ")
                            .append(tc.getFailure().get("message"))
                            .append("</li>");
                }
            }
        }
    }
    message.append("</ul>");
}
 
 类所在包