带有故障安全报告的Jenkinsfile

时间:2017-08-09 23:43:09

标签: maven jenkins

我有一个生成maven surefire报告的jenkins文件,还使用failafe进行集成测试。

我可以将来自surefire的测试报告归档并通过Jenkins中的链接查看它们,我也想对故障保护做同样的事情。故障安全插件根本不会生成报告,更不用说通过Jenkins提供它们了。

我该怎么做?这是我的jenkinsfile:

node {
   stage 'Checkout'
   git credentialsId: 'mike', url: 'mike@lhost:/repo'
   def mvnHome = tool 'M3'

   stage 'Build'
   sh "${mvnHome}/bin/mvn clean package verify"
   step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])

   stage 'SonarQube'
   sh "${mvnHome}/bin/mvn -Dsonar.host.url=http://192.168.3.70:9000 sonar:sonar"

}

这是故障的POM:

       <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.13</version>
            <executions>
                <execution>
                    <id>integration-test</id>
                    <goals>
                        <goal>integration-test</goal>
                    </goals>
                </execution>
                <execution>
                    <id>verify</id>
                    <goals>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

同样,我看到测试已经开始并通过,但我没有看到报告或如何让Jenkins存档并显示它们。

1 个答案:

答案 0 :(得分:0)

您仅包含来自surefire的报告:

step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])

也许这会有所帮助:

step([$class: 'JUnitResultArchiver', testResults: '**/target/failsafe-reports/TEST-*.xml'])