使用 json_spec 在步骤定义中访问 Cucumber 特征变量

Access Cucumber feature variable in a step defintion with json_spec

我下载了 json_spec gem 并且我正在尝试访问存储在我的 Cucumber 功能文件中的变量。从 json_spec readme 它表明您可以按如下方式存储变量;我将 JSON 的响应保留为 "USER_1"。有什么方法可以访问此 "USER_1" 变量以用于我的步骤定义?

是的。

JsonSpec.memory[:USER_1]

将允许您访问特定的存储值。然而,这并没有真正记录为受支持的行为,因此构成了一个可能会发生变化的实现细节。所以我不会依赖它。

此外,您应该始终能够访问实际的 JSON 作为 last_json,这是您需要为 json_spec[=23 提供的方法=] 工作。如果我需要对响应做些什么(例如发出额外的请求),我会自己解析 last_json

可以找到 JsonSpec 内存的代码 here. And the usage of it during the step-definition can be seen here