【问题标题】:Karate Java API for Match methods用于匹配方法的空手道 Java API
【发布时间】:2021-04-14 01:32:34
【问题描述】:

背景:

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

我没有 Twitter 帐户,因此无法回复 - 希望您不要介意我在这里提问。

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

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

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

问题:

  1. 立即开始 - 这是您推荐用于我的用例的做法吗?如果您认为这是一种反模式,请告诉我。我问这个是因为这里的示例 (https://github.com/ptrthomas/karate-showcase) 没有使用 RESTAssured 来获得响应,而且我的用例有点不同。
  2. 如果它值得探索 - 我认为这些东西将在 v1.0.0 中可用? (我看到诸如 之类的公共方法在开发分支上,但在 v1.0.0 github 线程上看不到它。

【问题讨论】:

    标签: karate rest-assured


    【解决方案1】:

    但我热衷于探索使用上述 Twitter 帖子中提到的空手道 Java API 来补充现有功能的可能性。

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

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

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

    如果您想立即开始使用(我建议您这样做,您可以提供更多反馈),请查看开发者指南:https://github.com/intuit/karate/wiki/Developer-Guide

    【讨论】:

    • 听起来不错!谢谢。
    • 我有一个 github 帐户,将尝试贡献一些示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    相关资源
    最近更新 更多