当前位置: 首页 > 知识库问答 >
问题:

Cucumber 7步骤定义正则表达式

万俟靖
2023-03-14

我对cucumber和regex还不熟悉。我目前正在一个项目中使用cucumber core 7.2.0。

由于某种原因,我似乎无法在步骤定义中使用正则表达式。

例如,我有以下几点

Scenario: User tries to login

When I enter valid credentials for test@test.com 


 

然后是步骤定义类

@When("I enter (.*) credentials for {word}")
 public void iEnterMyCredentialsAsUser(String email) {
      System.out.println(email);

}

虽然该功能发现发现的步骤定义很好,但当执行时,我得到以下结果

伊奥。cucumber朱尼特。UndefinedStepException:未定义步骤“我为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();
 }

基本上我只关心电子邮件作为参数,而不关心“有效”

共有1个答案

凌成天
2023-03-14

要让Cucumber知道您正在使用正则表达式,请以^开始定义,以$结束。详见此处。

更多不要混淆正则表达式和cucumber表达式。当使用正则表达式方法时,不支持像{word}这样的语法。

 类似资料:
  • 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为

  • 昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?

  • 本文向大家介绍Ruby定义一个正则表达式,包括了Ruby定义一个正则表达式的使用技巧和注意事项,需要的朋友参考一下 示例 可以在Ruby中以三种不同的方式创建Regexp。 使用斜杠: / / 使用 %r{} 使用 Regex.new

  • 本文向大家介绍jQuery正则表达式的使用方法步骤详解,包括了jQuery正则表达式的使用方法步骤详解的使用技巧和注意事项,需要的朋友参考一下  本文主要和大家分享的就是jQuery学习中正则的使用,正则在jquery里面并没有比JavaScript多哪些知识,基本上是一样的,只是选择器更好了一点,一起来看看吧。 基础正则 1、正则表达式的创建 2、常用规则 3、方式:test 案例 效果演示图

  • 转义字符串以在正则表达式中使用。 使用 String.replace() 来转义特殊字符。 const escapeRegExp = str => str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); escapeRegExp('(test)'); // \\(test\\)