2

mocha 単体テストをデバッグするために iron-node (v2.2.17) を使用しようとしています。package.json から次のコマンドを実行すると、単体テストは正常に実行されます。

"test": "cross-env NODE_ENV=test mocha test/.setup.js --reporter progress --compilers js:babel-core/register --require babel-polyfill --recursive \"./src/**/*.spec.js\" \"./src/**/*.integrationSpec.js\" \"./test/**/*.spec.js\"",

ただし、このコマンドを実行すると、テストは失敗します。

"debug:test": "cross-env NODE_ENV=test iron-node node_modules\\mocha\\bin\\_mocha test/.setup.js --reporter progress --compilers js:babel-core/register --require babel-polyfill --recursive \"./src/**/*.spec.js\" \"./src/**/*.integrationSpec.js\" \"./test/**/*.spec.js\"",

コンソールのエラーは次のとおりです。

Error: Cannot find module 'src/framework/api/entityAddresses/entityAddressesAc  tions'

  - module.js:16 require
    internal/module.js:16:19

  - entityAddressesActions.spec.js:5 Object.<anonymous>
    entityAddressesActions.spec.js:5:1

このモジュールは次の場所にあります。C:\TFS\Dev-UI\WebApp\Src\Web\Web\src\framework\api\entityAddresses\entityAddressesActions.js

私のプロジェクト フォルダはC:\TFS\Dev-UI\WebApp\Src\Web\Webであり、私process.env.NODE_PATHC:\TFS\Dev-UI\WebApp\Src\Web\Webです。(未定義でしたが、設定しprocess.cwd()ました.iron-node.js- https://github.com/sa/iron-node/issues/98#issuecomment-218658236を参照してください)

モジュールが見つからない理由がわかりません。いくつかの構成がありませんか?

編集

この SO の回答はprocess.env.NODE_PATH、モジュール パスがキャッシュされているため、アプリの起動後に設定が機能しないことを示唆しています:実行中の node.js アプリケーションからプロジェクト ルートを決定する

Iron-node が開始する前にこれを設定する方法について途方に暮れています。常に未定義です。

4

1 に答える 1