Cucumber 3:如何定义正则表达式

问题描述 投票:0回答:1

在 Cucumber 2 中,正则表达式表示为

(.*)
,以获取胶水代码的参数。 Cucumber 3 的表达式文档说“您可以使用正则表达式或 Cucumber 表达式”。但遗憾的是它没有提到语法。

在 Cucumber 3 和 4 中

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

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

cucumber cucumber-jvm cucumber-java
1个回答
5
投票

Cucumber 3 引入了 Cucumber 表达式。对于简单的用例,它们充当更具可读性的正则表达式。不幸的是,Java 没有区分正则表达式和字符串的语法。因此,要区分这两个 Cucumber JVM,请使用启发式

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

添加

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

© www.soinside.com 2019 - 2024. All rights reserved.