空手道是否支持在服务器端场景的 html 报告中显示对模拟服务器的传入 API 请求的断言或失败?

Does Karate Support displaying the assertions or failures in the html Report for Server side scenario of incoming API requests to a mock server?

这可能是个愚蠢的问题,或者可能已经有人回答了,但我找不到任何答案:

我需要测试向特定端点或消费者发送 API 请求的微服务。我能够使用空手道成功编写模拟,并发回对“服务器端”场景中发生的所需过滤条件和验证的响应。

如果任何断言失败,它会记录服务器端场景失败。 我想知道如何将这些添加到报告中(我目前使用可以与 Karate 集成的黄瓜报告)并在任何服务器端场景失败时使测试失败?

如有任何帮助,我们将不胜感激。

好问题,这是一个不寻常的要求 - 但您可以使用空手道模拟来发挥超级创意。

记住 - 空手道模拟是一个合法的 REST 服务器,所以您需要做的就是再添加一个请求“路由”。您已经知道可以将数据“收集”到 Background 中定义的全局变量中。所以像这样:

Background:
* def errors = []

Scenario: pathMatches('/myapi')
* def result = karate.match("request == { foo: 'bar' }")
* if (!result.pass) errors.add(result)
* def response = { some: 'response' }

Scenario: pathMatches('/mytest')
* def response = errors

现在,在测试结束时,只需调用额外的 /mytest API,您就会得到一个包含所有错误的漂亮 JSON 数组。