Cucumber 步骤定义:从外部到内部的全面指南
1. 多语言支持
在功能测试中,如果使用非英语的口语语言,注册步骤定义时仍可使用相同语言。Cucumber 会为每种口语语言创建 Cucumber::RbDsl#register_rb_step_definition 的别名。例如,在西班牙工作的团队可以这样使用:
Dado /tengo \$100 en mi Cuenta/ do
# TODO: code that puts $100 into User's Account goes here
end
可以使用命令 cucumber --i18n <language> 来发现口语语言的关键字。
2. 捕获参数
在之前的示例步骤中,一直提到存入 100 美元。如果需要存入不同金额,是否需要新的步骤定义呢?实际上不需要,正则表达式的灵活性可以解决这个问题,主要利用捕获组和通配符这两个特性。
- 捕获组 :将正则表达式的一部分用括号括起来就形成了捕获组,用于提取匹配文本中特定部分。在 Cucumber 步骤定义中,每个捕获组匹配的文本会作为参数传递给代码块。例如:
Given /I have deposited \$(100) in my Account/ do |amount|
# TODO: code goes here
end
超级会员免费看
订阅专栏 解锁全文
2089

被折叠的 条评论
为什么被折叠?



