使用Should().BeEquivalentTo()
我想比较包含一系列键值对的2个对象,但要排除键的实际值,因为这会有所不同。所以基本上我只对比较值的内容感兴趣。
例如:
MyObject { MyDictionary1 { Key, Value } ... MyDictionary2 { Key, Value } }
与
相比ExpecterdObject { ExpectedDictionary1 { Key, Value } ... ExpectedDictionary2 { Key, Value } }
2个对象属于同一个类,具有相同的结构,但每个实例都有唯一的id作为键。
我已经尝试了
.Excluding(e => e.KayValuePair.Keys)
这似乎不起作用,因为我仍然会错误地说
预期成员MyDictionary1是一个包含3个项目的集合。预期 成员MyDictionary1包含键X。
答案 0 :(得分:3)
如果您有.action-item li{
background-image: url(https://cdn0.iconfinder.com/data/icons/clipboard-1/100/clipboard-10-512.png);
background-position: 15px 0px;
background-repeat: no-repeat;
background-size: 1.4em;
}
之类的对象结构,并且想要覆盖MyClass
两个实例之间Dictionary
属性的比较方式。即只比较MyClass
字典。
Values
为此,您可以使用documentation中class MyClass
{
public int Value { get; set; }
public Dictionary<int, string> Dictionary1 { get; set; }
public Dictionary<int, string> Dictionary2 { get; set; }
}
和Using
的组合。
以下是您的案例的完整示例,其中词典具有相同的WhenTypeIs
,但Values
不同。
Keys