JEST - 检查对象数组是否是另一个数组的子集
JEST - check if objects array is a subset of another array
我想使用 JEST 测试一个对象数组是否是另一个数组的子集。
我想测试以下内容:
const users = [{id: 1, name: 'Hugo'}, {id: 2, name: 'Francesco'}, {id: 3, name: 'Carlo'}];
const subset = [{id: 1, name: 'Hugo'}, {id: 2, name: 'Francesco'}];
expect(users).toContain(subset)
我试过以下方法:
describe('test 1', () => {
it('test 1', () => {
expect(users).toEqual(
expect.arrayContaining([
expect.objectContaining(subset)
])
)
});
});
但这是不正确的,因为 objectContaining 不接受数组作为参数...它仅在子集是单个对象时有效。
我自己从未尝试过,但只说:
行不通
expect(users).toEqual(
expect.arrayContaining(subset)
)
我想使用 JEST 测试一个对象数组是否是另一个数组的子集。
我想测试以下内容:
const users = [{id: 1, name: 'Hugo'}, {id: 2, name: 'Francesco'}, {id: 3, name: 'Carlo'}];
const subset = [{id: 1, name: 'Hugo'}, {id: 2, name: 'Francesco'}];
expect(users).toContain(subset)
我试过以下方法:
describe('test 1', () => {
it('test 1', () => {
expect(users).toEqual(
expect.arrayContaining([
expect.objectContaining(subset)
])
)
});
});
但这是不正确的,因为 objectContaining 不接受数组作为参数...它仅在子集是单个对象时有效。
我自己从未尝试过,但只说:
行不通expect(users).toEqual(
expect.arrayContaining(subset)
)