Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

jbehave - как задать свой обработчик ошибок сценариев

jbehave
maven
java
Теги: #<Tag:0x00007f7b6412f2c8> #<Tag:0x00007f7b6412f138> #<Tag:0x00007f7b6412efd0>

(Dzmitry Ihnatsyeu) #1

Привет!

Запускаю тесты #jbehave с использованием maven plugin через goal ‘run-stories-as-embeddables’.
В качестве Embeddable класса наследуюсь от JUnitStories.

Стоит такая задача: не фейлить maven goal если упавший сценарий содержит известный открытый баг. Механизм отслеживания открытого бага есть. Чего нет, так это логики " не фейлить maven goal при обнаружении открытого дефекта"

Провобал добавлять FailureStrategy, а также Custom PerformableTree. Но тк NormalPerformableScenario создается в private методе, то наследование тут не поможет.
Вариант с метафильтрами не подходит.

Буду благодарен любым идеям!


(Sergey Pirogov) #2

там же можно перехватывать вызовы, нужно встравитьваться в Emmbeder и там искать концы как-то. Если есть желание напиши мне, попробуем покопаться вместе, я с JBehave работал 3 года


(Dzmitry Ihnatsyeu) #3

Возможно кому-то пригодиться: задавать EmbeddableFailureStrategy и FailureStrategy через Embeddable configuration не получилось ( возможно особенности запуска через maven plugin, который игнорирует некоторые пользовательские классы). Вариант который работает это унаследоваться от JunitStory/JunitStories и вызывать в своем методе run super.run обернув его в try - catch