set*_*bos 12 c# unit-testing xunit fluent-assertions
我想比较一个对象列表,忽略列表中对象的顺序,只比较对象中的一些属性,目前我正在使用以下代码来执行此比较:
actual.Should().NotBeNull();
actual.Count.Should().Be(expected.Count);
//compare ignoring order
foreach (var exp in expected)
actual.Should().Contain(act =>
act.IndividualId.Equals(exp.IndividualId)
&& act.Email.Equals(exp.Email)
&& act.FirstName.Equals(exp.FirstName)
&& act.LastName.Equals(exp.LastName)
);
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不太理想,因为当出现故障时,您无法获得预期值的打印.是否有使用流畅断言执行此比较的内置机制?
小智 5
为了断言一个对象集合等同于另一个对象集合,例如比较两个List<T>,您可以使用以下BeEquivalentTo()方法:
collection.Should().BeEquivalentTo(expectedResult);
Run Code Online (Sandbox Code Playgroud)
在这里,我使用 FluentAssertions nuget 包。
| 归档时间: |
|
| 查看次数: |
15936 次 |
| 最近记录: |