我在 .NET 3.5 C# 应用程序中使用 NUnit 2.5.6.10205。我正在使用 NUnit 的Collection Constraint来断言 IEnumerable 是否按参数排序。
它似乎对我不起作用,因为我收到一个异常,表明我的实际值不是 IEnumreable。allEntities 是一个List<T>
实现IEnumerable<T>
. 我相信 NUnit 正在寻找一个IEnumerable
,而不是一个IEnumerable<T>
,而是IEnumerable<T>
实现IEnumerable
。这是 co / contra 方差的问题吗?
Assert.That(allEntities, Is.All.Ordered.By("CreationDate"));
.
System.ArgumentException : The actual value must be an IEnumerable
Parameter name: actual
另外,有什么方法可以使用 Lambda 表达排序属性吗?对属性使用文字字符串会使它变得脆弱。