在BDD(Squish)/ BDD格式的数据驱动测试中测试具有多个I / O数据的场景

时间:2016-03-14 09:15:38

标签: bdd squish

以下是我正在进行的示例项目。

场景:Adder应用程序将在BDD中进行测试。

鉴于       Adder应用程序正在运行 什么时候      给出两个输入值,对应于我们得到输出。 然后       验证输出字段。

我可以用一组2个输入值执行测试。

是否可以使用不同的输入值集执行相同的场景。

2 个答案:

答案 0 :(得分:1)

是的,可能。该解决方案称为Scenario Outline F.e。

Scenario Outline: Adder application to be tested in BDD.
Given Adder application is running 
When <input_values> are given corresponding to which we get an output. 
Then Validate the <output> field.      

Examples:
| input_values | output  |
| foo          | bar     |
| new foo      | new bar |

有关详情,请查看squish documention link

答案 1 :(得分:0)

如果您希望每个方案都使用它,请使用OnScenarioStart挂钩...

您也可以在没有场景大纲的情况下使用表格数据执行此操作:

Scenario: Adder application to be tested in BDD.
Given Adder application is running 
Then for each input value provided, verify the output value.
    | inputvalue | outputvalue |
    | foo | bar |
    | new foo | new bar |

您可以使用context.table对象

访问步骤中的表
Then("for each input value provided, verify the output value", function(context) {
    var table = context.table;

    // Skip initial row with column headers by starting at index 1
    for (var i = 1; i < table.length; ++i) {
        var inputValue = table[i][0];
        var outputValue = table[i][1];
        // make magic happen
    }
});