我有两个对象(同一个类的实例),有一堆属性,其中一些是其他对象的列表。
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具有值&lt; C,C,C&gt;但发现&lt; C,C,C&gt;
换句话说,在比较列表属性时,它会执行reference-equals,在这种情况下显然会失败。
如何告诉FluentAssertions声明列表中元素的属性是否相等,而不是列表本身?
答案 0 :(得分:1)
从1.7.0版开始支持此功能。阅读此处的发行说明。 http://www.dennisdoomen.net/2012/01/fluent-assertions-170-has-been-released.html