expect.objectContaining()
주어진 객체가 지정된 속성을 포함하고 있는지를 확인하는 Matcher
expect(receivedObject).toEqual(
expect.objectContaining({
id: expect.any(Number),
name: 'John',
})
);
→ receivedObject는 id 속성(any Number)과 name 속성(’John’)을 포함하고 있어야 함
test('객체의 부분 일치', () => {
const obj = { name: 'Alice', age: 25, city: 'Wonderland' };
expect(obj).toEqual(expect.objectContaining({ name: 'Alice', age: 25 }));
});
→ 성공
expect.arrayContaining()
주어진 배열이 특정 요소들을 포함하고 있는지를 확인하는 Matcher
expect(receivedArray).toEqual(
expect.arrayContaining([
expect.objectContaining({
id: expect.any(Number),
name: 'John',
}),
expect.objectContaining({
id: expect.any(Number),
name: 'Jane',
}),
])
);
→ receivedArray는 두 개의 객체를 포함하고 있어야 하며, 각각의 객체는 id 속성이 어떤 숫자든지 가능하고, name 속성은 각각 ‘John’과 ‘Jane’이어야 함
test('배열의 부분 일치', () => {
const arr = [{ name: 'Alice' }, { name: 'Bob' }, { name: 'Carol' }];
expect(arr).toEqual(expect.arrayContaining([{ name: 'Alice' }, { name: 'Carol' }]));
});
→ 성공
'study > JavaScript & TypeScript' 카테고리의 다른 글
JavaScript의 원시타입과 참조타입 (0) | 2024.07.05 |
---|---|
Jest에서 toBe와 toEqual의 차이점 (0) | 2024.07.05 |
TypeScript 내장 유틸리티 타입: Partial, Omit, Pick (0) | 2024.06.27 |
옵셔널 체이닝 (Optional Chaining) (0) | 2023.12.18 |
Shorthand Property (1) | 2023.12.08 |