Scenario Outline能否实现类似Bash命令的排列组合功能?
Scenario Outline 能否实现参数排列组合?
完全可以,Scenario Outline 就是用来处理这类多参数笛卡尔积排列组合的场景,它会自动将示例表格中的参数组合成所有可能的独立测试用例,效果和你提到的 Bash 大括号展开完全一致。
以你给出的车型、轮胎品牌和尺寸的例子为例,用 Cucumber 的 Scenario Outline 实现如下:
Scenario Outline: 生成合法的轮胎配置组合 Given 选择车型 <cars> And 搭配轮胎品牌 <tires> And 选用尺寸为 <size> 英寸的轮胎 Then 验证配置组合有效 Examples: | cars | tires | size | | Honda | Big O | 16 | | Honda | Big O | 18 | | Honda | Big O | 20 | | Honda | Continental | 16 | | Honda | Continental | 18 | | Honda | Continental | 20 | | Honda | Nitto | 16 | | Honda | Nitto | 18 | | Honda | Nitto | 20 | | Toyota | Big O | 16 | | Toyota | Big O | 18 | | Toyota | Big O | 20 | | Toyota | Continental | 16 | | ... | ... | ... | | Kia | Nitto | 20 |
需要注意的是:
- 你示例表格中 size 列用
|分隔参数的写法不正确,Gherkin 会把|识别为表格列分隔符,必须改为明确列出每个参数值的组合 - Scenario Outline 会为 Examples 表格中的每一行生成一个独立的测试场景,对应你期望的所有排列组合结果,和 Bash 中
echo {a,b,c}{d,e,f}生成的笛卡尔积效果完全匹配
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

