我想在我的方案数据中加注引号.当数据中包含引号时,它无法正常工作.从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)
在我的特定情况下,由于上面第二个场景中的"蓝色",我得到一个未定义的步骤定义消息.有没有办法逃避报价?(我尝试过反斜杠,但没有任何区别.)
我的猜测是你当前的步骤定义如下:
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周围的引号.