我想在我的方案数据中加注引号。当数据中包含引号时,它无法正常工作。从The Cucumber Book修改的一个例子是:
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 |
在我的特定情况下,由于上面第二个场景中的“蓝色”,我得到一个未定义的步骤定义消息。有没有办法逃避报价? (我尝试过反斜杠,但没有任何区别。)
答案 0 :(得分:5)
我的猜测是你当前的步骤定义如下:
Then /I should see the "([^"]+)" message/ do |message|
p message
end
[^"]
告诉正则表达式匹配除双引号之外的任何内容。这就是你的“蓝色”示例不匹配的原因。
鉴于您只是在寻找一个参数,这样做是安全的:
Then /I should see the "(.*)" message/ do |message|
p message
end
使用(.*)
会匹配引号之间的所有内容,包括Blue周围的引号。