在 Cucumber 2 中,正则表达式表示为 (.*) 以获取粘合代码的参数。 Cucumber 3 的 expressions documentation 说“你可以使用正则表达式或 cucumber 表达式”。但遗憾的是它没有提到语法。

在 Cucumber 3 和 4 中 () 表示可选文本,相当于 Cucumber 2 中的 (?:)

() 保留用于可选文本时,如何在 Cucumber 3 中定义正则表达式?作为 {.*}

最佳答案

Cucumber 3 引入了 Cucumber 表达式。对于简单的用例,它们充当更具可读性的正则表达式。不幸的是,Java 没有语法来区分正则表达式和字符串。所以为了区分这两个 Cucumber JVM 使用 a heuristic

  • strings are cucumber expressions by default
  • ^definitely a regexp$
  • /surely a regexp/
  • this (.+) like a regexp
  • this look(s) like a cukexp

  • 添加 ^ 和结束标记 $ 是获得正则表达式行为的最可靠方法。

    关于 cucumber 3 : How to define a regular expression,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54081489/

    10-16 17:07