我正在尝试编写单元测试。
我将此部分作为工作版本的一部分:
List<MyClass> queryResult = new List<MyClass>(){};
A.CallTo(() => _dataContext.GetAll<MyClass>()).Returns(queryResult.AsQueryable());
但是,我宁愿使用“null”而不是“queryResult.AsQueryable()”,那么就不需要创建一个空列表。
但GetAll会根据事物的外观返回一个空或满的列表。因此,null将不起作用。
我可以使用“List.Empty”这样的东西吗?
谢谢
答案 0 :(得分:8)
Array.Empty<T>()
和Enumerable.Empty<T>()
可能适合您。它们都没有为每个调用分配一个新对象(它们都由泛型类T[]
或EmptyArray<T>.Value
上的静态EmptyEnumerable<T>.Instance
字段支持,尽管这些都是实现细节)
答案 1 :(得分:0)
您可以使用
Enumerable.Empty<MyClass>().ToList()
但在这种情况下我看不出任何差异。