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

TestNG如何在TestListenerAdapter监听器的onTestFailure方法获取断言失败信息

实现方法

你可以通过ITestResult提供的getThrowable()方法直接获取断言失败对应的异常对象,读取异常的message字段即可拿到具体的失败描述,示例代码如下:

public class DemoListner extends TestListenerAdapter {
    
    @Override
    public void onTestFailure(ITestResult tr) {
        super.onTestFailure(tr);
        Throwable testError = tr.getThrowable();
        if (testError != null) {
            // 此处获取到的就是"a is not equal to b"这类断言失败信息
            String assertFailureMsg = testError.getMessage();
            // 后续可以按需求处理该信息,比如打印、上报、存日志等
            System.out.println("断言失败详情:" + assertFailureMsg);
        }
    }
}

原理解释

TestNG执行测试用例过程中,所有未被捕获的异常(包括断言失败抛出的AssertionError、业务代码抛出的普通异常)都会被TestNG捕获,存入对应测试用例的ITestResult实例中,你可以在任意测试生命周期回调方法中通过该实例读取异常的全量信息,包括错误描述、堆栈信息等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:54:03