我希望能够使用 AutoFixture.SemanticComparison 比较以下两个对象的相似性:
public class Object1
{
public int a;
}
public class Object2
{
public int a;
public int b;
}
现在,当我这样做时:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().ShouldEqual(o2);
我收到以下异常:“以下成员不匹配:- b。”
我发现我可以像这样省略'b'成员:
var o1 = new Object1 { a = 1 };
var o2 = new Object2 { a = 1, b = 2};
o1.AsSource().OfLikeness<Object2>().Without(object2 => object2.b).ShouldEqual(o2);
但是,我发现这很麻烦,因为每当我向 Object2 类添加新成员时,我都必须更正我的单元测试(或者至少是单元测试助手)。
有没有办法说“我只想比较两个对象中存在的子集的相似性”?