正则表达式在黄瓜中的定义

时间:2018-12-04 10:47:19

标签: java regex cucumber

我正在尝试使用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 :(得分:1)

小黄瓜:

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在线演示here

答案 1 :(得分:0)

您的步骤定义错误。您需要将{int}更改为(\\ d +)。 (正则表达式\ d +匹配数字)。所以看起来像这样:

/

答案 2 :(得分:0)

与您提供的3个示例匹配的正则表达式为:

.*fuel.*percent.*\d{1,3}