匹配方法的空手道 Java API

Karate Java API for Match methods

背景:

我在 Twitter 上注意到这个有趣的 post 关于 Java API 空手道:https://twitter.com/ptrthomas/status/1344290316212342784

我没有 Twitter 帐户,所以无法回复 - 希望你不介意我在这里提问。

我在一个工作项目中使用过空手道(带有平行跑步者、特征文件和所有东西),使用起来很愉快 - 工作场所的一些人对这个复杂的东西印象深刻 JSON断言。我们正在为该项目实现 JSON 响应现场覆盖,这是其他框架 (IMO) 无法实现的。

我现在的任务是改进一个旧的测试项目,该项目使用 JUnit + RESTAssured,但字段断言非常有限。我无法将其完全转换为原始空手道(测试太多,时间不够),但我热衷于探索用空手道 Java API 中提到的补充现有内容的可能性在推特上方 post.

例如 - 对于使用 RESTAssured 获得响应的现有测试,我最好以某种方式使用 'contains' 方法(或 Match class 中的任何方法)空手道断言该响应,因为它是我遇到的最好的 JSON 断言工具。

问题:

  1. 立即行动 - 这是您会为我的用例推荐的做法吗?如果您认为这是一种反模式,请告诉我。我问这个是因为这里的例子 (https://github.com/ptrthomas/karate-showcase) 没有使用 RESTAssured 来获得响应,我的用例有点不同。
  2. 如果它值得探索 - 我假设这些东西将在 v1.0.0 中可用? (我在 develop 分支上看到 public 方法,例如 that,但在 v1.0.0 github 线程上看不到它)。

but I'm keen to explore the possibility of supplementing what is there already with the Karate Java API mentioned in above twitter post.

这很有趣,您也让我想到了这种将空手道引入遗留项目的潜在有趣方式。我经常收到关于如何神奇地迁移现有 RA 测试的问题。

我会推荐它。你可以期待下周的 0.9.9.RC3,它应该有你想要的所有断言。 API 已经过简化,因此您无需调用 isTrue()

我们计划提供更好的示例(也许您可以提供帮助)但现在,将其用作起点(查看最后一个测试/文件的最后):MatchTest.java

如果您想立即开始(我推荐您可以提供更多反馈),请查看开发人员指南:https://github.com/intuit/karate/wiki/Developer-Guide