Specflow参数化Table的用法
Specflow参数化Table的用法
1.feature 文件中添加table数据
在scenario下设置table,如下:
Scenario: How to add Table params
Given User login
When User input some table params
|header1|header2|header3|
|row11|row12|row13|
|row21|row22|row23|
2.step中将table转化为datatable
可以将table转换成DataTable,方便存储
public DataTable ToDataTable(Table table){
var dataTable = new DataTable();
foreach(var header in table.Header){
dataTable.Columns.Add(header);
}
foreach(var row in table.Rows){
//创建dataTable的行对象
var newRow =dataTable.NewRows();
foreach(var header in table.Header){
//每行逐列添加数值
newRow.SetField(header,row[Header]);
}
dataTable.Rows.Add(newRow);
}
return dataTable;
}
3.dataTable的使用:
采用二维数组取值方法:
using TechTalk.SpecFlow
...
[When("User input some table params")}
public void Userinputsometableparams(Table table){
Datatable featureTable = ToDataTable(table);
//判断第1行第2列值为1
Assert.AreEqual(featureTable.Rows[0][1],1);
}