在 Karate DSL Framework 中,我们如何添加自定义步骤定义以将其功能扩展到 REST 功能之外?

In the Karate DSL Framework, how can we add custom step definitions to expand its functionalities beyond REST capabilities?

我理解空手道背后的哲学是不必添加自定义步骤定义。但是,我们在项目中执行的 REST API 测试更加集成,因此我们必须验证 MongoDB 集合、ActiveMQ 和 SQL 服务器数据库中的 POST 响应。无论如何,是否可以轻松添加自定义步骤定义以将 Karate DSL 框架扩展到其 REST 功能之外?我尝试下载源代码并将其作为 Maven 项目导入,但我遇到了许多依赖性问题。

通过Java Interop. The best way to understand this, is to look at this demo example which uses JDBC to call a database: dogs.feature扩展空手道非常容易。

在这里值得一提的是,如果你 return 来自 Java 的 Map(或 Map 中的 List)——你回来了在 JSON-空手道领域,您可以使用 match 和空手道的所有其他数据驱动优势。

是的,就是这么简单 - 而且您没有不必要的步骤定义和依赖项注入开销。

希望这能说明为什么您根本不需要步骤定义!