#jestjs #babeljs
#jestjs #babeljs
Вопрос:
Руководство по Jest «Асинхронному примеру» начинается с:
Сначала включите поддержку Babel в Jest…
Но я не понимаю, зачем и для чего Jest нужен Babel.
Ответ №1:
Node.js поддерживает async
функции по умолчанию начиная с версии 7.6.0, поэтому (как вы и подозревали) Babel
не нужен для Jest
запуска тестов с использованием async
функций.
Я только что подтвердил это, установив только Jest
версию 24.6.0 и запустив этот тест с Node.js версия 10.15.1:
test('hi', async () => {
const val = await Promise.resolve('hello');
expect(val).toBe('hello');
});
… и все прошло просто отлично.
С другой стороны, Babel
требуется использовать синтаксис модуля ES6.
Многие примеры в документе «Асинхронный пример» используют синтаксис модуля ES6 ( export default ...
, import * as ...
и т.д.), Что Babel
требуется для работы любого из этих примеров.