Огуречный корнишон AmbigiousStepDefinition Issue

Я получаю исключение AmbigiousStepDefinitionsException, и я не уверен, почему я получаю эту ошибку. Как я могу обойти это?

      And I look for an apple in yellow basket with the following items
or
      And I look for an apple in basket with the following items


        @When("^I look for an? (apple|pear|grape) in (.*) basket with the following items:$")
        Public void findStoreItems(String fruit, Map<string,String> itemList)

        @When("^I look for an? (apple|pear|grape) in basket for the shop with the following items:$)
        Public void findColorItems(String fruit, String color, Map<string,String> itemList)

person myTD    schedule 17.12.2015    source источник
comment
Вы уверены, что регулярное выражение, которое вы указали в вопросе, совпадает с вашим кодом? Если да, то я не уверен, почему вы получите сообщение об ошибке.   -  person alannichols    schedule 17.12.2015


Ответы (2)


Используйте --guess во время выполнения.

Это устранит ошибку неоднозначного соответствия.

пример:

cucumber path_to_file.feature --guess
person Aravin    schedule 17.12.2015
comment
Хотя это устранит ошибку, это может сделать это, выбрав неверное определение шага для выполнения. Используйте с осторожностью! - person alannichols; 17.12.2015

Это ваше (.*) регулярное выражение. Это может вообще ничего не значить. Я использую "([^"]*)" и заключаю свое прилагательное (в данном случае цвет) в кавычки. Или вы можете использовать (.+), который требует совпадения хотя бы одного символа и должен устранять неоднозначность.

And I look for an apple in "yellow" basket with the following items

и

@When("^I look for an? (apple|pear|grape) in "([^"]*)" basket with the following items:$"

Кстати, вас не спрашивали, но вам не хватает вашей статьи для корзины. Меня, как тестировщика программного обеспечения, это «ошибает» ;-)

@When("^I look for an? (apple|pear|grape) in an? "([^"]*)" basket with the following items:$"
person Dave McNulla    schedule 19.12.2015