使用 Karate API forEach 方法时出现“无步骤定义方法匹配”错误

1 karate

我正在尝试在我的一个功能文件中使用 forEach 方法,但我不断收到此错误:\n“找不到与以下项匹配的步骤定义方法:forEach...”

\n\n

我什至尝试使用空手道文档中的示例,但它仍然不起作用。

\n\n

这是我的跑步者:

\n\n
import com.intuit.karate.junit4.Karate;\nimport com.intuit.karate.KarateOptions;\nimport org.junit.runner.RunWith;\n\n@RunWith(Karate.class)\n@KarateOptions(features = "classpath:com/kenshoo/apitests/testForEach.feature")\npublic class ApiTestsRunner {\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我的功能文件:

\n\n
Feature: Test forEach\n\n  Scenario: karate forEach operation on lists\n    * def res = []\n    * def fun = function(x){ karate.appendTo(res, x * x) }\n    * def list = [1, 2, 3]\n    * forEach(list, fun)\n    * match res == [1, 4, 9]\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我收到的错误:

\n\n
testForEach.feature:7 - no step-definition method match found for: forEach(list, fun)\ncom.intuit.karate.exception.KarateException: testForEach.feature:7 - no step-definition method match found for: forEach(list, fun)\n    at \xe2\x9c\xbd.* forEach(list, fun) (testForEach.feature:7)\n
Run Code Online (Sandbox Code Playgroud)\n\n

空手道 API 版本 - 0.9.3

\n

rii*_*ich 5

我用 0.9.3 版本重现了您的错误。更新到版本 0.9.4 将解决该问题。

在 0.9.4 中,“eval”关键字变为可选。这就是您收到“无步骤定义...”错误的原因。

请参阅此处的发行说明: https ://github.com/intuit/karate/releases


遗憾的是,作者花更多时间向人们竖起中指并说“RTFM”,而不是真正提供帮助。我想有些人忘记了学习一门新语言的挑战,特别是对于新手开发人员来说。@EB123...您只是“错过”了托马斯先生提出的答案是出于傲慢而不是谦虚而写的这一事实。