首页 > 解决方案 > 是否可以自动检测 Specflow 表中的类型?

问题描述

如果我有 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 能够正确检测和转换日期。因此,我认为它也应该能够为表格的元素这样做。你知道是否有可能实现它以及如何实现?

祝你今天过得愉快

标签: c#bddspecflowgherkin

解决方案


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


推荐阅读