黄瓜情景与文本中的引号

时间:2013-10-08 16:59:52

标签: cucumber

我想在我的方案数据中加注引号。当数据中包含引号时,它无法正常工作。从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 |

在我的特定情况下,由于上面第二个场景中的“蓝色”,我得到一个未定义的步骤定义消息。有没有办法逃避报价? (我尝试过反斜杠,但没有任何区别。)

1 个答案:

答案 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周围的引号。