Тестирование

«Набор тестов» — это термин, используемый для группировки набора связанных тестов, имеющих общую цель. В Jest вы можете создать набор тестов, используя функцию describe() для определения блока тестов. Каждый набор тестов может иметь один или несколько отдельных тестов, определенных с помощью функций it() или test(). Это позволяет организовать ваши тесты логично и структурированно, упрощая понимание и поддержку вашего тестового кода.

Матчер

Сопоставители в Jest — это функции, используемые для сравнения значений при тестировании. Jest предоставляет различные средства сопоставления, которые можно использовать для проверки того, равно ли значение другому значению, содержит ли значение определенное значение и т. д. Используя сопоставители, мы можем гарантировать, что написанный нами код работает правильно и выдает ожидаемые значения. Примеры сопоставителей в Jest включают toEqual, toBe, toContain, toBeDefined и многие другие.

Асинхронные обратные вызовы

В Jest асинхронные обратные вызовы должны тестироваться иначе, чем синхронный код. Jest предоставляет встроенную поддержку для обработки асинхронного кода с использованием таких методов, как обещания, async/await и обратный вызов done. Это связано с тем, что асинхронный код не выполняется в том же порядке, что и синхронный код, и может потребоваться дождаться завершения определенных действий, прежде чем делать утверждения. Поэтому важно использовать возможности асинхронного тестирования Jest, чтобы гарантировать надежность и точность тестов.

Обещать

При тестировании промиса, если промис не возвращается и есть ошибка, тест будет считаться пройденным, даже если в промисе есть ошибка. Это связано с тем, что тестовая функция не будет ждать разрешения или отклонения промиса перед завершением, поэтому она не будет обнаруживать ошибки, возникающие внутри промиса. Чтобы избежать этого, важно либо вернуть промис, либо использовать асинхронную тестовую функцию с синтаксисом async/await, чтобы убедиться, что промис полностью разрешен до завершения теста.

Сделанный

Если done() получает значение, это означает, что во время теста произошла ошибка. Значение должно быть экземпляром Error или строкой, описывающей ошибку.