我有两个具有一堆属性的对象(同一类的实例),其中一些是其他对象的列表。
class A {
public int a { get; set; }
public string b { get; set; }
public IList<C> cs { get; set; }
}
我想使用FluentAssertions library比较这些,并确保它们具有相同的属性,所以我添加
first.ShouldHave().AllProperties().EqualTo(second);
但后来我得到一个错误
预期属性 cs 具有值 <C, C, C> 但发现 <C, C, C>
换句话说,当比较作为列表的属性时,它会执行引用等于,这在这种情况下显然会失败。
我如何告诉 FluentAssertions 断言列表中元素的属性是相等的,而不是列表本身?