私はchild_processを使って子プロセスを実行するノードサービスを持っています。私のケースでは、子プロセスはSTDINとSTDOUTを受け取るC++バイナリです。サービスは期待どおりに動作していますが、現在はmocha/chaiを使用してサービスのメソッドの単体テストを作成し、イスタンブール経由でテストを実行しようとしています。私はこれらの教科書の基盤を説明しましたが、child_processを使うノードサービスの単体テストを書く方法の例を得たいだけです。その例に基づいて、私は自分のサービスの単体テストを作成してInstanbulで実行し、カバレッジレポートを生成することができます。child_processを使用するノードサービスの単体テストを書く
サービスは、このような子を生成します、
var spawn = require('child_process').spawn,
child = spawn(pathToBinary);
child.stdin.write('JSON');
child.stdout.on('data', function (data) {
//perform operations here
});
データイベントのコールバックを襲う可能性のあるすべてのケースについて、テストを書く方が優れています。したがって、あなたがテストしたいコールバックではなく、最終的にその中に書き込むもの... – deostroll
@deostrollでは、このタイプのSTDIN/STDOUTシナリオのサンプル単体テストのリンクを提供できますか? – Sai