Пользовательский ParameterType не преобразует захваченный DocString - PullRequest
0 голосов
/ 28 февраля 2020

У меня есть следующие пользовательские ParameterType:

ParameterType(
  name: 'response_api_key',
  regexp: /@response_api_key@/,
  prefer_for_regexp_match: true,
  transformer: ->(item) do
    @response_api_key ? item.gsub("@response_api_key@", @response_api_key) : item
  end
)

и определение шага:

Then("our JSON should be:") do |json|
  expect(@result).to eq(JSON.parse(json))
end

используется следующим образом:

Then our JSON should be:
"""
{
  "annotations" : [],
  "id": "cucumber:host:host-01",
  "owner": "cucumber:host_factory:the-layer-factory",
  "api_key": "@response_api_key@",
  "permissions": [],
  "restricted_to": []
}
"""

проблема в том, что @response_api_key@ не заменяется действительным ключом API, хотя я могу убедиться, что @response_api_key содержит правильный ключ API, добавив отладочный вывод в определение шага.

  1. Предполагается ли преобразование подобных строк в DocStrings?
  2. Если да, что я делаю не так?
  3. Если нет, нужно ли просто вручную преобразовывать данные изнутри определение шага?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...