是否支持将小黄瓜表值传递给 IList而不是常规字符串属性
本文关键字:string 属性 字符串 常规 IList 小黄瓜 支持 值传 是否 | 更新日期: 2023-09-27 18:33:01
我有一个用小黄瓜写的表,用于我向其传递值的对象:
| Description | Perils |
| foo | 6 |
传递的值要多得多,但以上两个值是以示例为例。
在绑定中,我检索此表数据并将其放入对象类型Cover
中。它有一个名为 Description
的 regualr 属性,该属性能够从表中获取字符串foo
并将其设置为该属性。然而,我的问题在于危险。这不是一个常规属性,而是一个IList<string>
。我想以某种方式将 Perils 6
的值传递给该属性,但AssistHelper
可能不支持这一点。我尝试将标题更改为Peril[0]
尽管我知道这毫无意义。有什么建议吗?
var tempTable = table.CreateInstance<Cover>();
var thisNeedsToBeSix = tempTable.Perils[0];
如果您的 SpecFlow 测试只使用一个危险,那么您可以创建一个 CoverWrapper 而不是直接使用 Cover,例如
绑定可能如下所示:
[Given(@"Given I entered the following data into the new form:")]
public void x(Table table)
{
var coverWrapper = table.CreateInstance<CoverWrapper>();
}
CoverWrapper可能看起来像:
public class CoverWrapper
{
private Cover cover;
public CoverWrapper()
{
cover = new Cover();
}
public string Description
{
get
{
return cover.Description;
}
set
{
cover.Description = value;
}
}
public string Peril
{
get
{
return cover.Perils[0];
}
set
{
cover.Perils.Add(value);
}
}
public GetCover()
{
return cover;
}
}
然后,您可以调用 coverWrapper.GetCover() 来根据需要返回 Cover 的实例。
请注意,我还没有编译该代码,所以如果有什么不太对劲的地方,我们深表歉意。
如何让你的危险论点只是一个string
,然后使用string.Split()
在你的绑定中分解它?