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

如何在CITRUS测试结果中配置展示自定义错误消息

Citrus 框架测试自定义错误消息设置方案

场景说明

你需要替换Citrus测试中文件不存在触发的默认报错java.io.FileNotFoundException: D:\expectedOutput\Smaple.xml (系统找不到指定文件),改为自定义提示Hey The File was not found in your directory Please check.,可通过以下两种方案实现:

实现方案

方案1:捕获异常主动抛出自定义测试异常

适用于所有手写文件读取逻辑的场景,同时保留原始异常栈方便排查问题:

import com.consol.citrus.exceptions.TestCaseFailedException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;

// 原有测试逻辑中的文件读取部分
try {
    File expectedFile = new File("D:\\expectedOutput\\Smaple.xml");
    FileInputStream fis = new FileInputStream(expectedFile);
    // 后续的文件内容校验、比对逻辑保持不变
} catch (FileNotFoundException e) {
    // 第一个参数填自定义提示,第二个参数传入原始异常保留根因
    throw new TestCaseFailedException("Hey The File was not found in your directory Please check.", e);
}

方案2:内置文件校验组件直接配置自定义消息

如果你使用Citrus自带的文件验证动作,可直接在组件参数中指定错误消息:

  • XML 配置示例:
<assert-file file="D:\expectedOutput\Smaple.xml" error-message="Hey The File was not found in your directory Please check."/>
  • Java DSL 配置示例:
assertFile("D:\\expectedOutput\\Smaple.xml")
    .errorMessage("Hey The File was not found in your directory Please check.");

效果说明

改造后测试失败时,控制台和测试报告中会优先展示你设置的自定义提示,原始的文件找不到异常会作为根因保存在异常栈中,不会影响后续问题定位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 02:48:00