xUnit - 将 List<> 传递给我的测试会引发错误 [重复]
Posted
技术标签:
【中文标题】xUnit - 将 List<> 传递给我的测试会引发错误 [重复]【英文标题】:xUnit - Passing List<> to my test is throwing an error [duplicate] 【发布时间】:2022-01-15 13:23:47 【问题描述】:我正在考虑使用 xUnit 进行测试。我喜欢它的一些功能。
我正在尝试创建一个列表并将该列表作为测试的参数传递:
[Theory]
[InlineData( new List<IDispenseEntity>() )]
public void Test1(List<IDispenseEntity> data)
// Some test here Assert.Equal(2, 2);
我得到:
属性参数必须是常量表达式,typeof 表达式 或属性参数类型的数组创建表达式
我想用列表中元素的不同组合来测试各种列表。
如何将 List 传递给我的测试?
【问题讨论】:
【参考方案1】:InlineData
属性只接受编译时值(常量)。
寻找MemberData
[Theory]
[MemberData(nameof(EmptyList))]
public void Test1(List<IDispenseEntity> data)
// Some test here Assert.Equal(2, 2);
public static IEnumerable<object[]> EmptyList()
yield return new[] new List<IDispenseEntity>() ;
【讨论】:
以上是关于xUnit - 将 List<> 传递给我的测试会引发错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能将 List<List<Foo>> 传递给 IEnumerable<IEnumerable<Foo>>
将 java List<Double> 传递给 dart List<double> 时出错
在 Dart 和 JavaScript 之间传递对象列表 — 将 List<dynamic> 转换为 List<GeocodeResult>