【发布时间】:2016-10-06 22:56:35
【问题描述】:
我第一次使用 SpecFlow 为我的项目编写测试,但遇到了一个小问题。
我有下一堂课:
public class FancyName
{
[DataMember]
public Guid Guid { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public List <Country> Countries { get; set; }
}
我想在我的测试中使用 SpecFlow 助手生成这个类。
这里是场景部分:
[...]
When i add some names
| Name | Countries |
| UK | 1 |
| US | 2 |
[...]
我尝试在这样的步骤定义中解析它:
[When(@"I add some names")]
public void AddNames(Table table)
{
var names = table.CreateSet<FancyName>();
[...]
}
我遇到了两个问题:
- 我没有通过 Guid,因为我想像
Guid.NewGuid()这样生成它,所以创建的对象包含null - 我通过国家作为排序,但我需要创建
List<Country>()。
我曾经尝试遍历 Table 并手动创建 FancyName 对象,但据我所知,这不是 SpecFlow 方式。我试图查看文档,但没有找到合适的解决方案。
可能有人知道解决这个问题的真正好方法吗? 提前致谢。
【问题讨论】:
-
Country 类型的外观如何?最后你的类型的实例应该是什么样子?