Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使测试失败,如何压缩测试报告(Maven,Jenkins)_Maven_Jenkins_Junit - Fatal编程技术网

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

即使测试失败,如何压缩测试报告(Maven,Jenkins),maven,jenkins,junit,Maven,Jenkins,Junit,我有一个Maven项目,它包含(Selenium/Cucumber)测试代码,通过Maven运行。这些测试创建自定义的ExtentReports HTML报告,这些报告存储在目标/ExtentReports中。始终创建此HTML报告(当然,除非项目未编译) 我想完成的是,在测试执行之后,这个文件夹的内容被归档到一个zip文件中(最好移动到另一个文件夹)。即使测试失败,这种情况也应该发生。因此,本质上,我希望添加一些无论测试是否通过“测试”目标失败都会运行的东西 目前,我正在进行测试 mvn cl

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

我想完成的是,在测试执行之后,这个文件夹的内容被归档到一个zip文件中(最好移动到另一个文件夹)。即使测试失败,这种情况也应该发生。因此,本质上,我希望添加一些无论测试是否通过“测试”目标失败都会运行的东西

目前,我正在进行测试

mvn clean test
它使用JUnit运行cumber/Selenium测试

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


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

Jenkins允许后期操作

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
    post { 
        always { 
            echo 'I will always say Hello again!'
            //do your zip step here
        }
    }
}
如果您没有使用声明式,那么可以将cucumber测试包装在try-catch中


标准方法是:

  • 确保生成不会因为以下测试而失败:

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

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


谢谢,但我说的是需要邮寄的自定义报告,而不是需要Jenkins解释的标准JUnit报告。谢谢,我会与Jenkins管理员联系,看看这是否可行。
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.'
}