Если вы хотите использовать регулярные выражения, вы должны начать свои строки с ^
и / или завершить их с $
. В противном случае Cucumber будет рассматривать их как выражения огурца . Итак:
@Then("^a topic (is|is not) displayed on the chat icon of the menu$")
public void a_topic_is_displayed(String isDisplayed){
}
Если вы хотите использовать выражения Cucumber, вам придется захватить модификатор в типе параметра. Итак:
@Then("a topic {isOrIsNot} displayed on the chat icon of the menu")
public void a_topic_is_displayed(boolean isDisplayed){
}
И вы зарегистрируете тип параметра для преобразования строки в логическое значение:
typeRegistry.defineParameterType(new ParameterType<>(
"isOrIsNot", // name
"is|is not", // regexp
boolean.class, // type
(String arg) -> "is".equals(arg) // transformer function
))