2016-11-08 15 views
-1

node filenameを呼び出して実行するスクリプトがあります。私はこのファイル内の特定の関数を単体テストしようとしています。問題は、私がapp = require('../app')のようなファイルを必要とするときにスクリプト全体が実行され、エクスポートされた関数にのみアクセスしたい場合です。ファイルのインポート時にスクリプト関数が実行されないようにする方法はありますか?Node.jsにファイルが必要なときにスクリプト関数が実行されないようにする方法

答えて

-1

基本的には、必要なモジュールを部分的に実行するだけです。

このモジュールのコードにパッチを適用しない限り、答えは「いいえ」です。

0

ユニットテストを実行するために「スクリプトを停止することはできますか?」という質問に対する回答は、本質的にはではなく、です。しかし、役に立つかもしれない多くのオプションがあります。 1つは、requireで実行されるアクションを取り出すことによって、ノードモジュールをよりモジュラー化することです。

node filename run 

「RUN」引数が存在し、通常のアクション火災:その上で私の提案は、それは引数を取るようにそれを変更することです。これにより、常にスクリプトを実行するファイルが必要になりますが、実行しないと、望ましくない動作は実行されません。あなたはテストモードでそれを実行するための 'テスト'オプションを持つことさえできます。あまり役に立たないと思う2つ目の選択肢は、テストしたい機能を独自のファイルに移動して、メインセクションに必要な機能を持たせることです。その後、別々にテストすることができます。

関連する問題