Модуль не нашел ошибку для nodejavabridge_bindings.узел при выполнении jest-теста, хотя файл существует в указанном каталоге

#java #node.js #jestjs #node-modules

#java #node.js #jestjs #node-modules

Вопрос:

Я использую клиентский пакет NCache NodeJS и пишу тесты, вызывая API NCache. Пакет имеет зависимость от Java. После того, как я установил и использовал этот пакет для написания простого теста. Сбой выполнения теста с ошибкой «модуль не найден»: сообщение об ошибке
Messgae: указанный модуль не найден. \D:GitHomeTestnode_modulesjavabuildReleasenodejavabridge_bindings.node

   at Runtime._loadModule (node_modules/jest-runtime/build/index.js:893:29)
  at Object.<anonymous> (node_modules/java/lib/nodeJavaBridge.js:21:16)
 

Файл в вышеупомянутом каталоге завершается.

Примечание: Когда я использовал этот пакет в простом index.js файл он работал нормально, как и ожидалось, но не смог работать с jest.

Для jest в файле package.json не выполнена основная настройка. Java jdk-11.0.6 установлен на box и установлен JAVA_HOME.

Package.json

test.specs.js

Не удалось определить точную причину сбоя, поэтому застрял на том, как ее устранить. Среда: ОС: Windows узел: 14.15.3 jest: 26.6.3

Ответ №1:

C:Program FilesOpenJDKjdk-16.0.1binserver должен быть на вашем пути. В Windows можно Edit the system environment > Environment Variables... > System variables и добавить C:Program FilesOpenJDKjdk-16.0.1binserver

Другой вариант — добавить его в свой тестовый бегун. Например, в WebStorm отредактируйте Run Configurations и добавьте Environment variables PATH=C:Program FilesOpenJDKjdk-16.0.1binserver