Behat Gherkin: как получить название схемы сценария

Я использую Behat с Mink в PHP. Я пишу класс для создания журналов Json для каждого тестового запуска, включая неудачные / пройденные шаги и так далее.

Теперь мы часто используем схемы сценариев, потому что запускаем тесты на нескольких веб-сайтах и ​​помещаем URL-адреса в раздел примеров.

Однако я не могу получить название узла сценария, чтобы поместить его в Json. Я использую

$event->getScenario()->getTitle();

но это возвращает не заголовок сценария, а пример, который выполняется в данный момент. Итак, если у меня есть это

Scenario Outline: Scenario 1
Given I am on "<domain>"
Then I should see "test"

Examples:
|domain|
|www.webpage.com|

то, что я в конечном итоге хочу в своем отчете, - это название схемы сценария, «Сценарий 1». Но на самом деле возвращается «| www.webpage.com |».

Есть ли способ добраться до названия схемы сценария? Он отлично работает в «обычных» сценариях.


person yeaitsme    schedule 26.04.2017    source источник


Ответы (1)


Попробуйте что-нибудь вроде:

$event->getScenario()->getOutlineTitle();

Это должно помочь.

person lauda    schedule 26.04.2017
comment
к сожалению, нет, класс OutlineNode есть, но у него нет названия или чего-то подобного. - person yeaitsme; 26.04.2017
comment
Обновил ответ. Если и это не работает, проверьте этот PR, чтобы узнать, есть ли он в вашем коде github.com/Behat/Gherkin/pull/118/commit/ - person lauda; 26.04.2017
comment
Отлично! Я добавил это в наш код, и теперь он работает. Спасибо - person yeaitsme; 26.04.2017