Огурец обнаруживает множество аргументов - PullRequest
0 голосов
/ 25 января 2019

Я хочу обнаружить список приложений с именами AppA, AppB и AppC на моем шаге огурца.

т.е. "Given there are 2 badges in the repository owned by AppA,AppB"

Я уже попробовал следующее ион работает в соответствии с синтаксисом окраски IntelliJ:

@Given("^there are (\\d+) badges in the repository owned by (App[ABC](,App[ABC])*)$")

Но при компиляции следующая ошибка

However, the gherkin step has 3 arguments [2, AppA,AppB, ,AppB].

Я думаю, что это вызвано круглыми скобками в скобках регулярного выражения.Кто-нибудь может поделиться мне обходной путь, чтобы я получил только [2, AppA,AppB]?

1 Ответ

0 голосов
/ 25 января 2019

Я решил проблему с помощью группы без захвата ?:

@Given("^there are (\\d+) badges in the repository owned by (App[ABC](?:,App[ABC])*)$")

Кажется, что огурец забирает все, что есть в группах захвата, даже если они вложенные (даже если некоторые инструменты проверки регулярных выражений обнаруживают только 1 для списка)

...