以下是我正在处理的示例项目。
场景:要在 BDD 中测试的加法器应用程序。
给定加法器应用程序正在运行时,给定两个输入值,对应于我们得到一个输出。然后验证输出字段。
我能够使用一组 2 个输入值执行测试。
是否可以使用不同的输入值集执行相同的场景。
是的,有可能。该溶液称为Scenario Outline
Fe
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 文档链接
如果您希望在每种情况下都使用它,请使用 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
}
});