Cucumber 7 regex on step definition
Cucumber 7 regex on step definition
我是 cucumber 和 regex 的新手。
我目前正在为一个项目使用cucumber core 7.2.0。
出于某种原因,我似乎无法在步骤定义中使用正则表达式。
例如我有以下
Scenario: User tries to login
When I enter valid credentials for test@test.com
然后是步骤定义class
@When("I enter (.*) credentials for {word}")
public void iEnterMyCredentialsAsUser(String email) {
System.out.println(email);
}
虽然该功能发现步骤定义很好,但在执行时我得到以下结果
io.cucumber.junit.UndefinedStepException: 步骤'I enter valid credentials for testa30'未定义。
您可以使用以下代码片段实施此步骤:
@When("I enter valid credentials for testa30")
public void i_enter_valid_credentials_for_testa30() {
// Write code here that turns the phrase above into concrete actions
throw new io.cucumber.java.PendingException();
}
基本上我只想关心电子邮件作为参数而不关心“有效”
要让 Cucumber 知道您正在使用正则表达式,请以 ^
开始您的定义并以 $
结束。查看详细信息 here。
此外不要混淆正则表达式和黄瓜表达式。当您使用正则表达式方法时,不支持像 {word}
这样的语法。
我是 cucumber 和 regex 的新手。 我目前正在为一个项目使用cucumber core 7.2.0。
出于某种原因,我似乎无法在步骤定义中使用正则表达式。
例如我有以下
Scenario: User tries to login
When I enter valid credentials for test@test.com
然后是步骤定义class
@When("I enter (.*) credentials for {word}")
public void iEnterMyCredentialsAsUser(String email) {
System.out.println(email);
}
虽然该功能发现步骤定义很好,但在执行时我得到以下结果
io.cucumber.junit.UndefinedStepException: 步骤'I enter valid credentials for testa30'未定义。 您可以使用以下代码片段实施此步骤:
@When("I enter valid credentials for testa30")
public void i_enter_valid_credentials_for_testa30() {
// Write code here that turns the phrase above into concrete actions
throw new io.cucumber.java.PendingException();
}
基本上我只想关心电子邮件作为参数而不关心“有效”
要让 Cucumber 知道您正在使用正则表达式,请以 ^
开始您的定义并以 $
结束。查看详细信息 here。
此外不要混淆正则表达式和黄瓜表达式。当您使用正则表达式方法时,不支持像 {word}
这样的语法。