You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在post-build脚本中获取invoker集成测试的控制台输出

maven-invoker-plugin Groovy post-build脚本获取集成测试控制台输出方案

maven-invoker-plugin执行每个集成测试时,默认会将本次测试的全量控制台输出写入测试项目根目录下的build.log文件,post-build脚本运行时的工作目录恰好是当前集成测试项目的根目录,直接读取该文件即可获取全部控制台输出。

具体实现步骤

  • 直接在Groovy post-build脚本中读取build.log文件内容,完成文本校验,示例代码如下:
// 读取全量控制台输出日志
def consoleOutput = new File("build.log").text

// 校验目标文本是否存在
def expectedText = "你要匹配的特定打印内容"
if (!consoleOutput.contains(expectedText)) {
    // 校验不通过时抛出异常,直接终止Maven构建
    throw new RuntimeException("集成测试控制台输出校验失败,未找到预期文本:" + expectedText)
}
println "控制台输出校验通过"
  • 如果需要正则匹配校验,可替换判断逻辑为:
// 正则匹配示例:匹配以"任务执行完成,耗时"开头的日志行
def regexPattern = ~/.*任务执行完成,耗时\d+ms.*/
if (!consoleOutput.matches(regexPattern)) {
    throw new RuntimeException("正则校验失败,控制台未匹配到目标格式日志")
}

注意事项

  • 如果你在maven-invoker-plugin的配置中通过<logFile>参数自定义了日志文件名,请将代码中的build.log替换为你自定义的文件名
  • 若目标文本存在重复可能,建议补充上下文特征缩小匹配范围,避免误判

内容的提问来源于stack exchange,提问作者yegor256

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:24:08