2015-01-03 11 views
8

ユニットテストでは、プロジェクト構造の最上部にtestというディレクトリがあり、ディレクトリ構造がソースを模倣する傾向がありますテストされるべきコード。しかし、これらのディレクトリは例grunt mochaでの相対パスの必要性を避けるために

test/app/src/js/models/User.jsで、おそらくテストと

app/src/js/models/User.js

のために、非常に深い得ることができます。

今、User.jsモジュールを含めるには、私はrequire('../../../../../app/src/js/models/Users.js')を使用していますが、これは非常に面倒です。

理想的には、require('/app/src/js/models/User.js')、おそらくはrequire('User.js')を使用します。

これは可能ですか?私はgrunt-mocha-testを使用していますが、私はその質問がより一般的なものだと思います。

+2

'test/app/src/js/models/User.js'の代わりに' test/models/User.js'にテストファイルを入れてみると、 'require( '.. /../ app/src/js/models/User.js ') ' –

答えて

2

複数のオプションがあります。おそらく、いくつかのnpmモジュール、例えばthis oneを使用するのが最善の策でしょう。 のnpm登録を検索するには、が必要です。必要なものがたくさんありますので、必要に応じて選択してください。

また、同様の機能を実行するヘルパ関数を記述することもできます。

これを達成するためにネイティブな方法(Node.jsに組み込まれています)を探していたら、残念ながらそこには何もありません。素敵な、再利用可能な方法でこれを行うには、カスタム関数かnpmモジュールのどちらかを使う必要があります。

関連する問題