【发布时间】:2011-11-18 13:42:20
【问题描述】:
我在 .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 来表达排序属性?对属性使用文字字符串会使它变得脆弱。
【问题讨论】: