Регулярное выражение для определения шага в огурце - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь использовать Regex, чтобы сопоставить метод с моим определением шага.Я хочу, чтобы шаг был сопоставлен с любым из следующих и захватить группу номеров.

  1. процент топлива составляет 74
  2. процент топлива должен быть 74
  3. процент топлива составляет 74

Это регулярное выражение, которое я использую @Then (". \ bfuel \ b. \ bpercent \ b. * (\ d +)")

Но, похоже, оно не соответствует или не фиксирует значение.Там написано, пожалуйста, реализуйте пропущенные шаги

@Then("the fuel percent should be {int}")
public void the_fuel_percent_should_be(Integer int1) {
    // Write code here that turns the phrase above into concrete actions
    throw new cucumber.api.PendingException();
}

Ответы [ 3 ]

0 голосов
/ 04 декабря 2018

Регулярное выражение для соответствия 3 приведенным вами примерам будет:

.*fuel.*percent.*\d{1,3}
0 голосов
/ 04 декабря 2018

Огурец:

the fuel percent is '74'
the fuel percent should be '74' fuel
percent is '74'

Java:

@Then(".*fuel percent (is|should be) '(.*)'")
public void the_fuel_percent_should_be(String type, Integer int1) {
    // Write code here that turns the phrase above into concrete actions
    throw new cucumber.api.PendingException();
}

Regexp online demo здесь .

0 голосов
/ 04 декабря 2018

Ваше определение шага неверно.Вам нужно изменить {int} на (\\ d +).(Регулярное выражение \ d + соответствует цифрам).Так это будет выглядеть так:

@Then("(fuel|the fuel) percent (is|should be) (\\d+)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...