使用 XUnit,我想将字符串列表传递给测试(使用ClassData或MemberData)。有没有办法做这样的事情,但有一个列表:之前:public static IEnumerable<object[]> GetPersonFromDataGenerator(){ yield return new object[] { new Person {"Tribbiani"}, new Person {"Gotti"}, new Person {"Sopranos"}, new Person {"Corleone"} };}之后:public static IEnumerable<object[]> GetPersonFromDataGenerator(){ var listOfPersons = GetList(); yield return new object[] { foreach(var p in listOfPersons) { new Person {p} } };}它需要符合IEnumerable<object[]>XUnitClassData和MemberData装置的要求。
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
为什么不只是
public static IEnumerable<Person> GetPersonFromDataGenerator()
{
foreach (var p in GetList())
yield return p;
}
请记住,枚举器可以在一个方法中多次“产生回报”!
或者,如果您确实想返回多个对象数组,您的代码可能如下所示:
public static IEnumerable<object[]> GetPersonFromDataGenerator()
{
var listOfPersons = GetList();
yield return listOfPersons.ToArray();
}
ToArray() 会将列表转换为数组。
- 2 回答
- 0 关注
- 178 浏览
添加回答
举报
0/150
提交
取消