Create-React-App / Typescript / Jest - TypeError: Невозможно переопределить свойство: __esModule - PullRequest
2 голосов
/ 04 февраля 2020

Я пишу Jest-тесты для некоторых реагирующих компонентов, которые находятся в проекте Create-React-App, использующем Typescript. Однако, когда я запускаю свой набор тестов, я сталкиваюсь с ошибкой, которая не позволяет запустить ни один компонент, использующий apollo-boost-upload.

    TypeError: Cannot redefine property: __esModule
        at Function.defineProperty (<anonymous>)

    >  7 | import { gql } from 'apollo-boost-upload';
         | ^

      at node_modules/apollo-boost-upload/dist/index.cjs.js:165:33
          at Array.forEach (<anonymous>)
      at Object.<anonymous> (node_modules/apollo-boost-upload/dist/index.cjs.js:164:27)
      at Object.<anonymous> (src/<component-with-apollo-upload-boost>/index.tsx:7:1)
      at Object.<anonymous> (src/<component-to-test-using-above-component-with-apollo-boost>/index.tsx:6:1)
      at Object.<anonymous> (src/<component-to-test-using-above-component-with-apollo-boost>/__tests__/index-test.tsx:3:1)

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

Есть ли способ обойти эту ошибку, и если нет, то что является предписанным способом использования Apollo Boost в приложении Typescript CRA, в котором используется Jest?

...