Это из-за символа ИЛИ в определении шага (|).
В вашем случае он соответствует обоим определениям шагов из-за слова "комментарий"
Это как вы говорите в IDE: ищите "Я могу добавить историю" ИЛИ ищите " комментируйте ИЛИ ищите «детали к элементу» (для @Then («^ Я могу добавить историю | комментарий | подробности к элементу $»)).
Для определения шага @And ("^ I add \" ([^ \ "] ) \" как история | комментарий | подробности для элемента $ ") у вас есть -> ищите Я добавляю \ "([^ \"] ) \ "в качестве истории ИЛИ ищу 'комментарий' ИЛИ ищу 'детали для элемента'
Я вижу здесь 2 возможных решения:
1) Вы можете попытаться реорганизовать определения шагов таким образом, чтобы избежать текущей ситуации:
@ Затем ("^ Я могу добавить (историю | комментарий | подробности) к элементу $ ")
@ And (" ^ Я добавляю \ "([^ \"] *) \ "как (история | комментарий | подробности) для элемента $")
ИЛИ
2) Вы можете использовать параметр в корнишоне, таким образом, вы можете указать любое значение, и оно не предложит вам оба определения шага
Пример:
Тогда я в состоянии добавить «положить ваше значение здесь» к элементу
, и соответствующее определение шага будет
@Then("^I am able to add a \"([^\"]*)\" to the item$")
public void iAmAbleToAddAToTheItem(String arg0) throws Throwable {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
}
(и сделать аналогичную модификацию для второго шага)