我有
<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));
}
}
})
但是我没有找到如何访问karate日志然后在报告中打印它们的方法。
问题来源:Stack Overflow
由于SchemaUtils.isValid(response, schema)似乎是自定义Java代码,因此我认为如果抛出任何Exception错误消息,karate将打印该错误消息,并应将其显示在日志以及HTML报告中。如果不是,则可能是一个错误-因此,请遵循以下过程:https : //github.com/intuit/karate/wiki/How-to-Submit-an-Issue
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。