0

我想在我的场景数据中有引号。当该数据中包含引号时,它不起作用。从黄瓜书修改的一个例子是:

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 |

在我的特定情况下,由于上述第二种情况中的“蓝色”,我收到了未定义的步骤定义消息。有没有办法我应该逃避引号?(我试过反斜杠,但这没有任何区别。)

4

1 回答 1

6

我的猜测是您当前的步骤定义如下所示:

Then /I should see the "([^"]+)" message/ do |message|
    p message
end

[^"]告诉正则表达式匹配除双引号之外的任何内容。这就是为什么您的“蓝色”示例不匹配的原因。

鉴于您只寻找一个论点,这样做是安全的:

Then /I should see the "(.*)" message/ do |message|
    p message
end

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

于 2013-10-08T20:01:30.937 回答