如何使用 Fluent Assertions 检查列表是否有序
How to check a list is ordered using Fluent Assertions
我正在使用 specflow 编写一些单元测试,需要一种方法来检查对象列表是否按特定 属性 排序。目前我是这样做的,但我不确定这是否是最好的方法。
var listFromApi = listOfObjects;
var sortedList = listFromApi.OrderBy(x => x.Property);
Assert.IsTrue(listFromApi.SequenceEqual(sortedList));
是否有使用 Fluent Assertions 完成此操作的好方法?
是的。您可以将 BeInAscendingOrder
与 lambda 一起使用。
listFromApi.Should().BeInAscendingOrder(x => x.Property);
为了以性能为代价获得额外的清晰度,您还可以断言内容等效:
listFromApi.Should().BeEquivalentTo(listOfObjects)
.And.BeInAscendingOrder(x => x.Property);
可以传递如下选项:
listFromApi.Should().BeEquivalentTo(sortedList, opt => opt.WithStrictOrdering());
我正在使用 specflow 编写一些单元测试,需要一种方法来检查对象列表是否按特定 属性 排序。目前我是这样做的,但我不确定这是否是最好的方法。
var listFromApi = listOfObjects;
var sortedList = listFromApi.OrderBy(x => x.Property);
Assert.IsTrue(listFromApi.SequenceEqual(sortedList));
是否有使用 Fluent Assertions 完成此操作的好方法?
是的。您可以将 BeInAscendingOrder
与 lambda 一起使用。
listFromApi.Should().BeInAscendingOrder(x => x.Property);
为了以性能为代价获得额外的清晰度,您还可以断言内容等效:
listFromApi.Should().BeEquivalentTo(listOfObjects)
.And.BeInAscendingOrder(x => x.Property);
可以传递如下选项:
listFromApi.Should().BeEquivalentTo(sortedList, opt => opt.WithStrictOrdering());