Karate Java API for Match methods



背景:

我在Twitter上注意到了一篇关于Karate的Java API的有趣帖子:https://twitter.com/ptrthomas/status/1344290316212342784

我没有推特账户,所以无法回复——希望你不介意我在这里问。

我在一个工作项目中使用过Karate(包括并行运行程序、功能文件等(,使用起来很愉快,工作场所的一些人对复杂的JSON断言印象深刻。我们正在实现该项目的JSON响应字段覆盖率,这在其他框架(IMO(中是不可能的。

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

例如,对于使用RESTAssured获得响应的现有测试,我最好以某种方式使用Karate中的"contains"方法(或Match类中的任何方法(来断言该响应,因为这是我遇到的最好的JSON断言工具。

问题:

  1. 顺便说一句,这是你为我的用例推荐的一种做法吗?如果你认为这是一种反模式,请告诉我。我问这个是因为这里的例子(https://github.com/ptrthomas/karate-showcase)没有使用RESTAssured来获取响应,我的用例有点不同
  2. 如果它值得探索的话——我想这个东西会在v1.0.0中提供吗?(我在开发分支上看到了之类的公共方法,但在v1.0.0 github线程上看不到(

但我很想探索用上面推特帖子中提到的Karate Java API补充现有内容的可能性。

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

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

我们计划有更好的例子(也许你可以帮忙(,但现在,把它作为一个起点(看看最后一个测试/文件的最后一个(:MatchTest.java

如果你想现在就开始(我建议你这样做,你可以提供更多反馈(,一定要看看开发者指南:https://github.com/intuit/karate/wiki/Developer-Guide

最新更新