У меня есть три разных файла функций, которые содержат разные тестовые сценарии: configA.feature, configB.feature, common.feature.
В файле шагов у меня есть два тега перед хуками, по одному для каждой конфигурации (A / B):
@Before("@ConfigA")
public void configA() {
//some settings
}
@Before("@ConfigB")
public void configB() {
//some settings
}
Эти два конфига являются взаимоисключающими, поэтому для любого конкретного сценария должен выполняться только один, так как второй будет перезаписывать настройку, выполненную первым.
Чего я хочу добиться, так это уметь запускать следующие сценарии:
- configA.feature с выполненным хуком ConfigA
- configB.feature с выполненным хуком ConfigB
- common.feature с выполненным хуком ConfigA
- common.feature с выполненным хуком ConfigB
Я пытался аннотировать функции в файлах функций как:
configA with @ConfigA
configB with @ConfigB
common with both @ConfigA @ConfigB
но это приводит к тому, что common.feature всегда выполняется одновременно с обоими хуками before.
Поскольку я использую оболочку JUnit с бегуном Cucumber, я также попытался создать отдельные тестовые классы с указанным @ CucumberOptions.tags, но у меня это тоже не сработало.
Что я пытаюсь сделать, даже возможно с огурцом? Если да, то как мне этого добиться?