Cucumber 文本中带引号的黄瓜场景
我想在我的场景数据中加上引号。当数据中有引号时,它就不起作用了。从Cucumber书中修改的示例如下:Cucumber 文本中带引号的黄瓜场景,cucumber,Cucumber,我想在我的场景数据中加上引号。当数据中有引号时,它就不起作用了。从Cucumber书中修改的示例如下: Then I should see the "<message>" message Examples: | type | message | | Swiss | I love Swiss cheese | | Blue | I love "Blue" cheese | | Cheddar | I love Cheddar cheese | 那么我应该看到“”消息 示例
Then I should see the "<message>" message
Examples:
| type | message |
| Swiss | I love Swiss cheese |
| Blue | I love "Blue" cheese |
| Cheddar | I love Cheddar cheese |
那么我应该看到“”消息
示例:
|类型|消息|
|瑞士|我喜欢瑞士奶酪|
|蓝色|我喜欢“蓝色”奶酪|
|切达干酪|我喜欢切达干酪|
在我的特殊情况下,由于上面第二个场景中的“蓝色”,我得到了一条未定义的步骤定义消息。我有没有办法避开这些引语?(我尝试过反斜杠,但没有任何区别。)我猜您当前的步骤定义如下:
Then /I should see the "([^"]+)" message/ do |message|
p message
end
[^”]
告诉正则表达式匹配除双引号以外的任何内容。这就是为什么“蓝色”示例不匹配的原因
考虑到您只寻找一个参数,可以安全地执行以下操作:
Then /I should see the "(.*)" message/ do |message|
p message
end
使用
(.*)
将匹配引号之间的所有内容,包括蓝色引号。我猜您当前的步骤定义如下所示:
Then /I should see the "([^"]+)" message/ do |message|
p message
end
[^”]
告诉正则表达式匹配除双引号以外的任何内容。这就是为什么您的“蓝色”示例不匹配的原因
考虑到您只寻找一个参数,可以安全地执行以下操作:
Then /I should see the "(.*)" message/ do |message|
p message
end
使用
(.*)
将匹配引号之间的所有内容,包括蓝色引号。谢谢,您对步骤定义的观察非常准确。谢谢,您对步骤定义的观察非常准确。