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 =&gt; element.StartsWith("J")).Should().HaveCount(2);

【讨论】:

是否有更依赖于 FluentAssertions 的解决方案?

以上是关于FluentAssertions:如何指定该集合应包含一定数量的匹配谓词的元素?的主要内容,如果未能解决你的问题,请参考以下文章