在给定的相对路径上运行ant单元测试并使用Jenkins共享库读取报告

问题描述

我需要制作一个脚本化的Jenkin共享库,该库在特定文件夹上运行 ant unittests 命令。

当前,在本地,我在特定文件夹的cmd上运行此命令。执行后,它将使用JUnit报告生成一个HTML文件

鉴于必须使用文件夹的相对路径,如何在脚本化的groovy Jenkin共享库中实现上述目标。

相同的示例代码将对您有所帮助。

解决方法

我不确定我是否正确理解了您的问题,但我不能100%肯定,但这至少会为您提供一些指示。

dir(<path>) { //changes the current working directory,this means,this could be actually an path within your workspace
    sh script: "ant unittests" // be aware that ant needs to be available
    junit testResults: ['<path to report>'] // change this wildcard path to your needs eg. hybris/log/junit/**/*.xml
}

尽管我不确定以hybris的方式存储报告,例如。我们确实有一个

的结构
    • unittest单元测试的#xml报告
    • integrationtest #xml集成测试报告

,我们正在使用 hybris/log/junit/**/*.xml用于我们所有的测试结果,hybris/log/junit/unittests/*.xml仅用于共享库中的单元测试结果。

为此,我们为每个执行覆盖junit.results.directory