Экспорт "MyModule" не определен - на Jest тестах - PullRequest
2 голосов
/ 12 июня 2019

Я пытаюсь выборочно экспортировать этот модуль, который не проходит тесты, и экспортировать пустой модуль в противном случае (чтобы тесты не жаловались).После этого SO ответа: Пропустить импорт, когда реагирует компонент, созданный jest

let Analytics;
let Segment;
if (process.env.JEST_WORKER_ID == undefined){
  Analytics = require('@segment/analytics.js-core');
  Segment = require('@segment/analytics.js-integration-segmentio');
}
else {
  // If we're testing...
  Analytics = {
    page() {},
    track() {},
    identify() {},
    initialize() {},
    addIntegration() {},
  };
  Segment = {};
}    
console.log(Analytics);
export {Analytics};

Если я удаляю экспорт, эта строка console.log () возвращает мне это, когда я запускаю jest тесты:

{ page: [Function: page],
  track: [Function: track],
  identify: [Function: identify],
  initialize: [Function: initialize],
  addIntegration: [Function: addIntegration] }

Однако, когда у меня есть экспорт, я получаю эту проблему:

SyntaxError: index.js: Export 'Analytics' is not defined (36:8)

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

1 Ответ

1 голос
/ 12 июня 2019

Попробуйте явно назвать экспорт при экспорте, поэтому

export { Analytics as Analytics };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...