是否支持将小黄瓜表值传递给 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];  

是否支持将小黄瓜表值传递给 IList<string>而不是常规字符串属性

如果您的 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()在你的绑定中分解它?