Как импортировать пользовательские модули в тесты babel-jest с помощью npm? - PullRequest
1 голос
/ 04 мая 2019

Я создаю веб-приложение, используя npm.Я пытаюсь запустить модульные тесты моего пользовательского модуля.

Для начала, команда, которую я использую для генерации проблемы:

vue-cli-service test:unit

И ошибка, которую я получаю:

FAIL  tests/unit/js/myModule.spec.js
 ● Test suite failed to run

   .../tests/unit/js/myModule.spec.js:1
   ({"Object.<anonymous>":
     function(module,exports,require,__dirname,__filename,global,jest)
   {import MyModule from "@/js/myModule.js";                                               
           ^^^^^^^^

   SyntaxError: Unexpected identifier

Структура моего проекта, связанная с проблемой, выглядит следующим образом:

.
├── jest.config.js
├── src
│   ├── js
│   │   └── myModule.js
└── tests
    └── unit
        └── js
            └── myModule.spec.js

В моем package.json:

{
   "devDependencies": {
      "babel-jest": "^24.7.1"
   }
}

Тело myModule.js:

class MyModule {
    static method(){}
}

export default MyModule

И в теле myModule.spec.js я звоню:

import MyModule from "@/js/myModule.js";

Что может быть причиной этой ошибки?Я использую ту же строку для импорта myModule в src/js/otherModule.js, и с этим проблем нет.Может ли это быть связано с использованием babel?

Также, скажите, пожалуйста, нужны ли здесь дополнительные файлы / конфиги (jest, babel), чтобы получить более широкое представление о проблеме.

1 Ответ

0 голосов
/ 07 мая 2019

Использование

const MyModule = require('@/js/myModule')

и изменение модуля экспорта на

module.exports = MyModule;

решило проблему.

...