2017-03-27 51 views
1

コマンドラインでgruntを開始すると、どのようにノードプロセスに引数を渡すことができますか?grunt経由でnode.jsオプションを渡す

具体的には、--expose-gcオプションをgruntを実行するノードに渡したいと思います。私は実行 コマンドは次のとおりです。

grunt mocha:mytests 

私はモカ・テストが露出ガベージコレクションのインターフェイスを取得することを、達成したいです。

それは、任意の助けである場合:イサキファイルセクションには、次のようになります。

myTest: { 
    src: [ 
     'mocha.hooks/*.spec.js', 
     'build/ch.actifsource.*/**/test/*.spec.js', 
     'mocha.hooks/*.spec.server.js', 
     'build/ch.actifsource.*/**/test/*.spec.server.js' 
    ], 
    options: { 
     timeout: 500, 
     logErrors: true 
    }, 
    ignore: [ 
     './src/**/RegisterResourceTypes.js' 
    ] 
} 
+1

モカは何をん:mytestsタスクは、あなたの 'Gruntfile.js'のように見えますか?あなたの質問にコードスニペットを含めると、おそらく答えが得られる可能性が高くなります。 – RobC

+1

グランモカプラグインAPIは '--expose-gc'(.. [this]を含む)(https://github.com/kmiyashiro/grunt-mocha)を渡すオプションを提供していません。代わりに[grunt-shell](https://github.com/sindresorhus/grunt-shell)を使用することができます。次に、[CLI](https://mochajs.org/#usage)で実行するのと同じmochaコマンドを実行するように設定します。あなたの_grunt-shell_コマンドは 'command: './node_modules/mocha/bin/mocha -t 500 -gc path/to/files''であり、' path/to/files'部分は 'src'に置き換えられますファイル。コマンドはローカルのmochaを 'bin'フォルダ経由で実行します。また、mochaをインストールする必要があります。「$ npm i -D mocha」 – RobC

+0

@RobCあなたは答えとして認定されたと言いました! – Alfi

答えて

1

APIのさまざまなうなり声モカプラグインは、このone含め、--expose-gcに合格するためのオプションを提供していないため。

代わりにgrunt-shellをインストールして、CLIと同じmochaコマンドを実行するように設定できます。

あなた作男シェルcommandは次のようになります。

// ... 
shell: { 
    myTest: { 
     command: './node_modules/mocha/bin/mocha -t 500 -gc path/to/files' 
    } 
} 
// ... 

path/to/files一部があなたのsrcファイルに置き換えてください。

注意、あなたもmochaをインストールする必要がありますので、コマンドはbinフォルダを介してローカルモカを実行します:

$ npm i -D mocha

+0

回答を投稿していただきありがとうございます。そのようなオプションを渡すことは不可能である、それは哀れみです。しかし、私はこれをまだ受け入れられている答えとしてマークするつもりはありません。 – Alfi

+0

関連するメモ... 'grunt-mocha'プロジェクトリポジトリ(GitHub上)には、開いている[issues](https://github.com/kmiyashiro/)の他の_mocha_ CLIオプションをサポートするためのいくつかのリクエスト/ grunt-mocha/issues)を参照してください。しかし、 '--expose-gc'は_mocha_ CLIオプションであり、プロジェクトのオーナーがこの[reply](https://github.com/kmiyashiro/grunt-mocha/issues/136#issuecomment-62059400)で言及しているように - "プラグインはコマンドラインのmochaを使用しません"。より統合されたソリューションがあれば、私は驚くでしょう。 – RobC

+0

このオプションを有効にすると、どうすればgruntを実行できますか?実際にテストのためだけに、メモリリークのランタイムチェックを行うためにgcを明示的に起動する必要があります。 (別名「すべてのインスタンスがクリーンアップでリファレンスを削除したことを確認してください」) – Alfi

関連する問題