我正在尝试做一个 POC,将我现有的 Cucumber 项目转换为空手道。 有人告诉我空手道不支持自定义步骤定义,我们需要直接调用 Java 方法。
下面是我的功能文件和 java 类签名:
Scenario: get all users and then get the first user by id
Given def param1 = ""
And def param2 = ''
And def param3 = ''
And def param4 = ''
And def param5 = ''
* call com.automation.tesco.stepdefs.KafkaSteps.createKafkaStockChangeEvent(param1, param2, param3, param4, param5)
Java方法签名:
public static void createKafkaStockChangeEvent(String source, String source_TransactionType, String source_transferLocationType, String source_transferLocationId, String stock_TransactionType) {
}
注意:如果该方法只需要一个输入参数,则特征文件可以正常执行。仅当传递多个输入参数时才会出现问题
这种情况不应该发生,因此最好的方法是在 hello world / 简单项目中尝试此操作:https://github.com/karatelabs/karate/wiki/How-to-Submit-an-Issue