Asyn c тесты перестают работать в узле 10, работают в узле 12. Как диагностировать? - PullRequest
0 голосов
/ 12 февраля 2020

Длинный и короткий, если это так:

  1. Большой набор тестов с некоторыми асинхронными / ожидающими тестами (например, describe( async function(){const awaitSomething = something (...); expect(awaitSomething).to.equal('somethingAwaited')} или аналогичными), который выполняется в узле 10.15.3
  2. Представить библиотеку компонентов коллег (которая сама работает с тестами в узле 10.15 3)
  3. Наш большой набор тестов не будет выполнен, если мы не обновимся до узла 12.x

В частности, это вызывает тесты потерпеть неудачу , даже когда мы указываем на .only запускать несвязанные наборы тестов. Как только мы закомментируем импорт функции компонента, где она интегрирована и где находится, все остальные тестовые сбои прекратятся.

Скорее всего, мы сможем перейти на узел 12.x, но я все же хотел бы понять, что неверно.

Единственные два признака в том, что новый компонент извлекает whatwg-fetch, и что в узле 10.15.3 мы получаем ошибку (с импортированным компонентом или без него), говорящую

ExperimentalWarning: fs.promises is experimental.

Это происходит изнутри jsdom.

Поскольку я не могу вставить код из базы кода, я не могу сделать MVP для показа здесь, но есть ли способ диагностировать это? Я пытался использовать DEBUG='*', но не могу извлечь из этого ничего значимого. Мое предположение состоит в том, что polyfill что-то переопределяет, но я не знаю что.

...