Cucumber jvm 如何避免在步骤定义中使用正则表达式?

Cucumber jvm 如何避免在步骤定义中使用正则表达式?,cucumber-jvm,Cucumber Jvm,而不是像这样的东西: @给定(“^I肚子里有(\d+)个cukes$”) 公共空间我肚子里有杯(int cukes)可以扔掉{ 我们能用这种方式把定义写在下面吗?正则表达式伤了我的眼睛。 @给定(“我肚子里有$number个cukes”) 公共空间我肚子里有杯((整数)杯)可以扔{简短回答:不,你应该这么做 长答覆: 不,因为 如上所述,您将失去int参数的类型安全性 缺少的“^”和“$”将允许可能的错误匹配:“OtherText我肚子里有10个cukes OtherText”也将匹配,因为“

而不是像这样的东西: @给定(“^I肚子里有(\d+)个cukes$”) 公共空间我肚子里有杯(int cukes)可以扔掉{

我们能用这种方式把定义写在下面吗?正则表达式伤了我的眼睛。 @给定(“我肚子里有$number个cukes”)
公共空间我肚子里有杯((整数)杯)可以扔{

简短回答:不,你应该这么做

长答覆: 不,因为

  • 如上所述,您将失去int参数的类型安全性
  • 缺少的“^”和“$”将允许可能的错误匹配:“OtherText我肚子里有10个cukes OtherText”也将匹配,因为“^”和“$”标记匹配文本的开始和结束

您会失去对参数进行类型检查的保证,是吗?