即使测试失败,如何压缩测试报告(Maven,Jenkins)

时间:2017-09-22 12:00:28

标签: maven jenkins junit

我有一个包含(Selenium / Cucumber)测试代码的Maven项目,通过Maven运行。这些测试创建自定义ExtentReports HTML报告,这些报告存储在目标/范围报告中。始终创建此HTML报告(当然,除非项目不编译)。

我想要完成的是,在测试执行之后,该文件夹的内容被存档为zip文件(并且最好移动到不同的文件夹)。即使测试失败,也应该发生这种情况。因此,基本上,无论测试是否通过“测试”,我都希望添加能够运行的内容。目标失败。

目前,我正在通过

运行我的测试
mvn clean test

使用JUnit运行Cucumber / Selenium测试。

我已经尝试了许多Maven插件的方法和组合(surefire,failsafe),但我还没有找到合适的解决方案。

我通过Jenkins运行这些测试,因此任何构建后的Jenkins解决方案都可以。我不确定是否需要安装Jenkins插件(我们不会自己管理Jenkins),所以不需要这样的解决方案是首选。

2 个答案:

答案 0 :(得分:1)

标准方法是:

  • 确保构建不会因测试而失败:

    mvn test -Dmaven.test.failure.ignore = true

  • 添加构建后步骤发布JUnit测试结果报告,这会将构建颜色设置为黄色。

答案 1 :(得分:0)

詹金斯允许进行后期操作

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
    post { 
        always { 
            echo 'I will always say Hello again!'
            //do your zip step here
        }
    }
}

如果您没有使用声明,那么您可以将黄瓜测试包装在try catch

请参阅https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-catcherror-code-catch-error-and-set-build-result

node {
    sh './set-up.sh'
    try {
        sh 'might fail'
        echo 'Succeeded!'
    } catch (err) {
        echo "Failed: ${err}"
    } finally {
        sh './tear-down.sh'
    }
    echo 'Printed whether above succeeded or failed.'
}