如何在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
相关产品推荐
相关产品推荐

