所以我有两个对象
address: {
id: 1234,
city: "foo",
country: "bar",
name: "baz"
}
字符串
和
defaultAddress: {
id: 1234,
city: "foo",
country: "bar",
firstName: "ba",
lastName: "z"
}
型
如果我试图在它们之间做一个直接的比较/Assert,即。
expect(address).to.contain(defaultAddress)
型
(or反之亦然),它会失败,因为每个都包含另一个不包含的字段
(AssertionError:expect {address} to have a property 'firstName')
我只想比较它们共享的键中的值。有可能通过编程来做这样的事情吗?
3条答案
按热度按时间z18hc3ub1#
为什么不使用
.to.include.any.keys
作为字符串
但没有测试
r8xiu3jd2#
我要强调一个尚未提到的重要方面。
虽然写一个函数总是可能的,
字符串
测试两个对象
a
、b
是否在公共键的对应中共享相同的值,应该清楚地说明,这样的函数不能被认为是等价的定义,因为每个等价都需要是可传递的。型
t0ybt7op3#
您正在尝试匹配共享密钥子集上的对象。这可以按如下方式完成。
字符串
再看看这个answer。