如何配置监听器以覆盖Citrus中的LoggingReporter类的行为?

时间:2018-04-11 12:16:55

标签: citrus-framework

我正在寻找一种方法来在使用框架 Citrus 时删除失败断言的堆栈跟踪。

这是在 testNg 中完成的,如下所示:

KafkaUtils

但是为了覆盖'LoggingReporter'提供的实现,我找不到任何关于'TestListener'或其他类的使用示例

请有人使用框架柑橘覆盖了倾听者并且可以提供片段吗?

由于

1 个答案:

答案 0 :(得分:0)

您需要将自定义报告器作为bean添加到Spring应用程序上下文中:

@Bean
public NoStackTraceReporter noStackTraceReporter() {
    return new NoStackTraceReporter();
}

您还可以通过选择bean名称loggingReporter

来覆盖默认日志记录报告者
@Bean
public NoStackTraceReporter loggingReporter() {
    return new NoStackTraceReporter();
}

然后NoStackTraceReporter实现能够覆盖失败测试的特定事件处理程序:

public class NoStackTraceReporter extends LoggingReporter {
...
    @Override
    public void onTestFailure(TestCase test, Throwable cause) {
        // do something customized
    }
...
}

您也可以覆盖报告界面中的generateTestResults()方法,以自定义记录结果。

您还可以点示演示如何在Citrus中添加自定义记者的示例http://www.citrusframework.org/samples/reporting/