【发布时间】:2020-03-15 14:05:32
【问题描述】:
我有
<logger name="com.intuit.karate" level="DEBUG"/>
在我的 logback-test.xml 中。但是当我运行我的测试时,我看到当步骤
* assert SchemaUtils.isValid(response, schema)
失败,我在 Cucumber 报告中看不到任何调试信息(包含有效负载和关于哪个字段丢失或哪个值错误的描述),例如:
error: object instance has properties which are not allowed by the schema: ["PrSKU"]
level: "error"
我确实在控制台中看到了它:
{content_type=, value=21:54:25.380 assertion failed: assert evaluated to false: SchemaUtils.isValid(response, schema)21:54:25.413
如何在报告中打印日志?
我找到了如何访问以前的请求/响应并将其打印在报告中:
// setup global hook to log details only on failed scenarios
karate.configure('afterScenario', function(){
var info = karate.info;
if(info.errorMessage) {
karate.log('failed',info.scenarioType+':',info.scenarioName);
var r = karate.prevRequest;
if(r) {
var log = 'request: ' + r.method + ' ' + r.uri + '\n' + karate.pretty(r.headers)
if(r.body) log += '\n' + karate.pretty(r.body)
karate.log(log);
karate.log('response: ' + karate.pretty(response));
}
}
})
但是我没有找到如何访问空手道日志然后在报告中打印它们的方法。
【问题讨论】: