How to add a CodeBuild report for failsafe JUnit tests?

0

For my integration tests that are run by the failsafe Maven plugin, I added the section "IntegrationReports" in my buildspec file:

reports:
  SurefireReports: #surefire junit reports
    files:
      - '**/*'
    base-directory: 'target/surefire-reports'
  IntegrationReports: #failsafe junit reports
    files:
      - '**/*'
    base-directory: 'target/failsafe-reports'

The surefire reports are generated as expected but for the failsafe the build is failing with a message similar to this:

CLIENT_ERROR: Error in UPLOAD_ARTIFACTS phase: [IntegrationReports: [error processing report: [/codebuild/output/src415328417/target/failsafe-reports/failsafe-summary.xml: expected element type <testsuite> but have <failsafe-summary>]]]

The failsafe-summary.xml is generated by the Maven plugin maven-failsafe-plugin version 3.0.0-M8:

<?xml version="1.0" encoding="UTF-8"?>
<failsafe-summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/failsafe-summary.xsd" result="null" timeout="false">
    <completed>9</completed>
    <errors>0</errors>
    <failures>0</failures>
    <skipped>0</skipped>
    <failureMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</failsafe-summary>

Is there a way to show these reports?

질문됨 2년 전293회 조회
1개 답변
1
수락된 답변

The solution is actually simple: all I needed to do is eliminate the failsafe-summary.xml file from the list of reports. The relevant buildspec fragment becomes:

reports:
  SurefireReports: #surefire junit reports
    files:
      - '**/TEST*.xml'
    base-directory: 'target/surefire-reports'
  IntegrationReports: #failsafe junit reports
    files:
      - '**/TEST*.xml'
    base-directory: 'target/failsafe-reports'
답변함 2년 전
profile picture
전문가
검토됨 4달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠