Skip to main content

Як описати очікування в тесті?

Очікування в тесті описуються за допомогою конструкції:

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

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.