Как настроить Mocha для поиска моих внутренних модулей проекта? - PullRequest
0 голосов
/ 08 марта 2020

Мое окружение:

  • Ubuntu v 16.04.6 LTS
  • Node v8.17.0
  • Webstorm 2019.3.3
  • Mocha v. 7.1.0

Привет!

Я только начинаю на Моче.

У меня возникает эта ошибка при запуске теста:

Error: cannot find the module: FirstModuleToIncludeByMyModuleToBeTested

, где FirstModuleToIncludeByMyModuleToBeTested - это модуль, который использует модуль, который я тестирую. Все модули, включенные в тестируемый модуль, имеют ту же проблему. Этот проект отлично работает на Node и в веб-шторме, и они оба могут найти все библиотеки, когда не работает под Mocha.

Я установил MOCHA и уже проводил изолированные тесты (не понравился в проекте). Пока все хорошо, пока я не попробую протестировать модуль на реальном проекте. Когда я пытался запустить тесты, Мокко может найти модуль, который я тестирую , но он не может найти модули, которые использует этот модуль (все они находятся в одном проекте путь) ... через веб-шторм и через командную строку у меня та же проблема, и я получаю одно и то же сообщение об ошибке ... Все пути модулей указаны относительно root папки проекта, и веб-шторм и nodeJs могут работать тогда нормально, когда нет MOCHA.

Я попробовал несколько вариантов в веб-шторме относительно рабочего пути для проекта и для теста mocha ... но ничего не решается ... Я поместил папку тестов в Project sr c папки. Также я попытался использовать тестовый файл mocha в той же папке, где находится тестируемый модуль javascript.

Я перепробовал все варианты инсталляций Mocha, такие как глобальный и локальный проект.

npm install --global mocha

Это полное сообщение об ошибке, которое я получаю:

mymachine: $ mocha MyMochaTest. js

> Error: Cannot find module 'x/MyProject/Folder1/Folder2/
> FirstModuleToIncludeByMyModuleToBeTested'
>     at Function.Module._resolveFilename (module.js:548:15)
>     at Function.Module._load (module.js:475:25)
>     at Module.require (module.js:597:17)
>     at require (internal/module.js:11:18)
>     at Object.<anonymous> (/home/myuser/Desenv/Git/MyProjec/Folder3/Folder4/MyModuleToBeTested.js:1:80)
>     at Module._compile (module.js:653:30)
>     at Object.Module._extensions..js (module.js:664:10)
>     at Module.load (module.js:566:32)
>     at tryModuleLoad (module.js:506:12)
>     at Function.Module._load (module.js:498:3)
>     at Module.require (module.js:597:17)
>     at require (internal/module.js:11:18)
>     at Object.<anonymous> (/home/myuser/Desenv/Git/MyProjec/MochaTests/MyMochaTest.js:4:23)
>     at Module._compile (module.js:653:30)
>     at Object.Module._extensions..js (module.js:664:10)
>     at Module.load (module.js:566:32)
>     at tryModuleLoad (module.js:506:12)
>     at Function.Module._load (module.js:498:3)
>     at Module.require (module.js:597:17)
>     at require (internal/module.js:11:18)
>     at /usr/lib/node_modules/mocha/lib/mocha.js:314:36
>     at Array.forEach (<anonymous>)
>     at Mocha.loadFiles (/usr/lib/node_modules/mocha/lib/mocha.js:311:14)
>     at /usr/lib/node_modules/mocha/lib/mocha.js:347:12
>     at new Promise (<anonymous>)
>     at Mocha.loadFilesAsync (/usr/lib/node_modules/mocha/lib/mocha.js:346:12)
>     at singleRun (/usr/lib/node_modules/mocha/lib/cli/run-helpers.js:107:15)
>     at exports.runMocha (/usr/lib/node_modules/mocha/lib/cli/run-helpers.js:144:11)
>     at Object.exports.handler (/usr/lib/node_modules/mocha/lib/cli/run.js:306:11)
>     at Object.runCommand (/usr/lib/node_modules/mocha/node_modules/yargs/lib/command.js:242:26)
>     at Object.parseArgs [as _parseArgs] (/usr/lib/node_modules/mocha/node_modules/yargs/yargs.js:1087:28)
>     at Object.parse (/usr/lib/node_modules/mocha/node_modules/yargs/yargs.js:566:25)
>     at Object.exports.main (/usr/lib/node_modules/mocha/lib/cli/cli.js:68:6)
>     at Object.<anonymous> (/usr/lib/node_modules/mocha/bin/mocha:133:29)
>     at Module._compile (module.js:653:30)
>     at Object.Module._extensions..js (module.js:664:10)
>     at Module.load (module.js:566:32)
>     at tryModuleLoad (module.js:506:12)
>     at Function.Module._load (module.js:498:3)
>     at Function.Module.runMain (module.js:694:10)
>     at startup (bootstrap_node.js:204:16)
>     at bootstrap_node.js:625:3

1 Ответ

0 голосов
/ 10 марта 2020

Я нашел решение.

В командной строке, где находился тест, внутри пути проекта.

$ export NODE_PATH=<path to my project root>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...