Як описати очікування в тесті?
Очікування в тесті описуються за допомогою конструкції:
javascript
expect(actualResult).matcher(expectedValue);Вона порівнює те, що повернула функція, з тим, що мало вийти.
Найпростіший приклад
js
expect(sum(2, 3)).toBe(5);Тут:
expect(sum(2, 3))- фактичний результат.toBe(5)- очікування (matcher), що результат має дорівнювати5
Найпоширеніші matchers (зіставники)
| Matcher | Що перевіряє |
|---|---|
toBe(value) | строга рівність (як ===) |
toEqual(obj) | порівняння об'єктів і масивів за вмістом |
toBeTruthy() | значення істинне |
toBeFalsy() | значення хибне |
toBeNull() | строго null |
toBeUndefined() | строго undefined |
toContain(item) | елемент є в масиві або рядку |
toBeGreaterThan(num) | більше ніж… |
toBeLessThan(num) | менше ніж… |
Приклад з різними очікуваннями
js
expect([1, 2, 3]).toContain(2);
expect({ name: "Tom" }).toEqual({ name: "Tom" });
expect(10).toBeGreaterThan(5);
expect(false).toBeFalsy();Сенс очікувань
Кожне очікування, це твердження, яке має бути істинним. Якщо хоча б одне з них не збігається з реальністю, тест впаде і покаже, що саме пішло не так.
Таким чином, очікування описують як має поводитися код, а Jest автоматично перевіряє, чи збігається фактична поведінка з очікуваною.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.