

現在、gulp + babel + mocha の組み合わせでテストを書こうと考えています。  
プロダクションコードはroot/src/modulesディレクトリ配下においています。

テストコードはroot/test/modules下に、プロダクションコードと同じ構成で置きたいです。

この場合、テストコードに

`import sut from '../../../(repeatUntilRoot...)/src/mosules/(pathToSUT...)'`

と書くのが非常に煩雑です。

プロダクションコードのbuildにはWebpackを使用していて

`import someModule from 'modules/path/to/module'`

のように解決できるようにしています。  
テスト時にWebpackを用いずに上記プロダクションコードの呼び方と同様の記載で、テストコードからテスト対象モジュールを呼び出すことは可能でしょうか？


CC BY-SA 3.0
2015-12-12T08:45:05.643
19911
2016-11-06T15:45:57.223
2016-11-06T15:45:57.223
754
9640
question
javascript
JavaScriptのテストコードのimportパス指定で"../"を使いたくない


環境変数に設定することで可能、と自己解決しました。 export NODE_PATH=/path/to/project/root/src


CC BY-SA 3.0
2016-02-25T13:52:06.653
22541
2016-02-25T13:52:06.653
9640
19911
answer


[wavy](https://github.com/kolodny/wavy#readme)を使用してみるのはどうでしょうか？`package.json`の位置が`~`として扱われます。

[code]

    mkdir foo && cd foo
    echo 'module.exports="foo"' > index.js
    
    npm install wavy
    node -e "console.log(require('~/index.js'))"
    # foo
    
[/code]


CC BY-SA 3.0
2016-04-25T19:57:40.103
24342
2016-04-25T19:57:40.103
9834
19911
answer