是否可以自动检测Specflow表中的类型?

时间:2019-07-08 17:17:21

标签: c# bdd specflow gherkin

如果我有Techtalk.Specflow.Table,是否可以自动检测表中元素的适当类型?

例如,如果我执行以下步骤:

Given the following ticket sold on the 2019-01-01
|TicketId|Owner     |Amount|Seat|
|0033    |John Doe  |20.00 |3F  |

如果我这样定义我的步骤

[Given(@"Given the following ticket sold on the (.*)")]
public void GivenTheFollowingPosition(DateTime date, Table table)
{
}

Specflow能够正确检测和投射日期。因此,我认为它也应该能够对表中的元素执行此操作。您知道是否有可能实现它,以及如何实现?

祝你愉快

1 个答案:

答案 0 :(得分:1)

看看SpecFlow Assist Helpers那里有一些有用的方法,您可以尝试使用table.CreateInstance<T>方法将表中的行转换为对象以供将来使用。您还可以使用TableAliases属性指定自定义映射,有关详细信息,请参见此article