FluentAssertions:如何指定该集合应包含一定数量的匹配谓词的元素?
Posted
技术标签:
【中文标题】FluentAssertions:如何指定该集合应包含一定数量的匹配谓词的元素?【英文标题】:FluentAssertions: how to specify that collection should contain a certain number of elements matching predicate? 【发布时间】:2021-10-18 14:39:09 【问题描述】:例如。我需要断言该列表:
var list = new List<string> "James", "Michael", "Tom", "John" ;
应包含一定数量(目前为 2 个)匹配特定谓词的元素:
list.Should().Contain(element => element.StartsWith("J"), 2);
但是这个方法没有这样的重载。 如何在 FluentAssertions 中做到这一点?
【问题讨论】:
网址continuousimprover.com/2012/09/…可以帮忙 【参考方案1】:你不能。您可以获得的最接近的方法是将该行重写为
list.Where(element => element.StartsWith("J")).Should().HaveCount(2);
【讨论】:
是否有更依赖于 FluentAssertions 的解决方案?以上是关于FluentAssertions:如何指定该集合应包含一定数量的匹配谓词的元素?的主要内容,如果未能解决你的问题,请参考以下文章
如何将子集集合按值(结构平等)与 FluentAssertions 进行比较?
如何在 FluentAssertions 的集合断言中重用自定义对象断言
如何在 FluentAssertions 中为集合中的属性使用排除?