在用空手道编写新测试时,我尝试运行它以确保我做的一切都是正确的。我发现我的测试报了这样的错误
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] match failed: EQUALS
$ | not equal | match failed for name: 'date' (MAP:MAP)
{"date":"2012-06-08"}
{"date":"2012-06-09"}
$.date | not equal (STRING:STRING)
'2012-06-08'
'2012-06-09'
classpath:xxxxxxxxxxxxxxx.feature:130
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
我与我们的开发人员进行了交谈,他们同意这是一个错误,预期日期是正确的,而实际日期是错误所在。一切都很好吧?测试正在发挥作用!
但这是我的问题。为什么会报告这个错误?对我来说,错误表明测试本身出了问题,而不是测试失败,我希望看到测试被报告为失败
你可能是对的,但说实话,7 年来没有人提出过这个问题。欢迎您为 Karate 贡献代码,它是开源的。
我个人认为这不是一个大问题,Karate 必须抛出错误,以便使用的单元测试框架(例如通常是 JUnit)可以知道套件失败了。 HTML 报告应该为您提供正确的图片,如果不是,则应该修复。