黄瓜情景与文本中的引号

lar*_*ryq 0 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 |
Run Code Online (Sandbox Code Playgroud)

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

Jus*_* Ko 6

我的猜测是你当前的步骤定义如下:

Then /I should see the "([^"]+)" message/ do |message|
    p message
end
Run Code Online (Sandbox Code Playgroud)

[^"]告诉正则表达式匹配除了双引号里的东西.这就是你的"蓝色"示例不匹配的原因.

鉴于您只是在寻找一个参数,这样做是安全的:

Then /I should see the "(.*)" message/ do |message|
    p message
end
Run Code Online (Sandbox Code Playgroud)

使用(.*)将匹配引号之间的所有内容,包括Blue周围的引号.