具有特殊字符的黄瓜场景大纲
Cucumber Scenario Outline with Special Characters
我目前正在尝试测试一项服务,该服务应正确替换特定 Unicode 范围内的某些特殊字符,包括表情符号、交通工具图标、表情符号和标志符号。我一直在使用 Cucumber 和 Ruby 进行测试,而我最新的场景大纲不起作用。我已经尝试从示例中查找其他获取字符的方法 table,但是我似乎无法让它工作,黄瓜打印输出只是抱怨未定义给定步骤。
这是我的特色场景:
Scenario Outline: I update a coupon with a name including emojis/emoticons/dingbats/symbols
Given I have a name variable with a <character> included
When I patch my coupon with this variable
Then the patch should succeed
And the name should include replacement characters
Examples:
| character |
| |
| |
| |
| |
| ☀ |
| ☂ |
| ✋ |
| ✂ |
| ⨕ |
| |
| |
这是我对 Given 的步骤定义(这是抱怨未定义的步骤)
Given(/^I have a name variable with a (\w+) included$/) do |char|
@name = 'min length ' + char
@json = { 'name' => @name }.to_json
end
我试过使用一些正则表达式来捕获字符,以及 (\w+) 和 (\d+),但我找不到有关如何捕获特殊字符的信息。我可以编写 11 个不同的步骤定义,但那样做太糟糕了,会让我抓狂。
除非您的特价商品中有 space,否则使用 非 space 是安全的 \S
:
Given(/^I have a name variable with a (\S+) included$/) do |char|
...
\w
不会给你想要的结果,因为 \w
被解析为 [a-zA-Z0-9_]
.
我目前正在尝试测试一项服务,该服务应正确替换特定 Unicode 范围内的某些特殊字符,包括表情符号、交通工具图标、表情符号和标志符号。我一直在使用 Cucumber 和 Ruby 进行测试,而我最新的场景大纲不起作用。我已经尝试从示例中查找其他获取字符的方法 table,但是我似乎无法让它工作,黄瓜打印输出只是抱怨未定义给定步骤。
这是我的特色场景:
Scenario Outline: I update a coupon with a name including emojis/emoticons/dingbats/symbols
Given I have a name variable with a <character> included
When I patch my coupon with this variable
Then the patch should succeed
And the name should include replacement characters
Examples:
| character |
| |
| |
| |
| |
| ☀ |
| ☂ |
| ✋ |
| ✂ |
| ⨕ |
| |
| |
这是我对 Given 的步骤定义(这是抱怨未定义的步骤)
Given(/^I have a name variable with a (\w+) included$/) do |char|
@name = 'min length ' + char
@json = { 'name' => @name }.to_json
end
我试过使用一些正则表达式来捕获字符,以及 (\w+) 和 (\d+),但我找不到有关如何捕获特殊字符的信息。我可以编写 11 个不同的步骤定义,但那样做太糟糕了,会让我抓狂。
除非您的特价商品中有 space,否则使用 非 space 是安全的 \S
:
Given(/^I have a name variable with a (\S+) included$/) do |char|
...
\w
不会给你想要的结果,因为 \w
被解析为 [a-zA-Z0-9_]
.