Получить информацию о сценарии в хуках «До» и «После»?

Прямо сейчас я пытаюсь получить информацию из текущего сценария (описание, путь к файлу, имя и т. Д.). Я пытаюсь получить информацию о сценарии в хуке before следующим образом

Before do |scenario|
    puts scenario.name
    puts scenario.description
    #etc.
end

однако такие вещи, как сценарий.description, недоступны для использования. Это связано с тем, что при запуске как в ловушке «До», так и в «После» сценарий вызывается как Cucumber::RunningTestCase::Scenario, а не как часть основного модуля AST, как и функция. Я хочу иметь доступ к сценарию из Cucumber::Core::Ast::Scenario и Cucumber::Core::Ast::OutlineTable::ExampleRow, где доступны такие значения, как описание текущего сценария. Можно ли получить доступ к Cucumber::Core::Ast::Scenario в хуках до и после вместо Cucumber::RunningTestCase::Scenario или другим способом получить информацию, такую ​​как имя сценария, описание, путь к файлу и т. Д.? Это использует последнюю версию драгоценных камней ядра огурца и огурца (2.4 и 1.5). Кроме того, я больше не могу получить доступ к информации о текущем шаге и количестве шагов.


person Tyler    schedule 21.03.2017    source источник


Ответы (1)


Before do |scenario|
  all_sources = scenario.outline? ? scenario.scenario_outline.all_source : scenario.all_source
end

Из переменной all_source у вас будет доступ к нескольким объектам из :: Ast

Схема сценария:

  • Огурец :: Core :: Ast :: Feature

  • Огурец :: Core :: Ast :: ScenarioOutline

  • Огурец :: Core :: Ast :: Примеры

  • Огурец :: Core :: Ast :: ПримерыТаблица :: Строка:

  • Огурец :: Core :: Ast :: ExpandedOutlineStep

Сценарий:

  • Огурец :: Core :: Ast :: Feature

  • Огурец :: Core :: Ast :: Сценарий

  • Огурец :: Core :: Ast :: Step

Из них вы сможете получить данные о пути к файлу, описаниях, комментариях, тегах, хуках, номерах строк и так далее.

person SMAG    schedule 13.06.2017