ストリームを大量に扱うノード js モジュールの 1 つを単体テストしようとしています。モジュール内にトリガーしたい「.on('data/end)」リスナーがあるため、(書き込み先の) ストリームをモックしようとしています。基本的に、私はこのようなことをしたいと思っています:
var mockedStream = new require('stream').readable();
mockedStream.on('data', function withData('data') {
console.dir(data);
});
mockedStream.on('end', function() {
console.dir('goodbye');
});
mockedStream.push('hello world');
mockedStream.close();
これは実行されますが、プッシュを実行した後に「on」イベントが発生することはありません (.close() は無効です)。
ストリームで見つけることができるすべてのガイダンスは、新しいストリーム ( https://github.com/substack/stream-handbook ) を作成するための基礎として「fs」または「net」ライブラリを使用するか、sinon でモックアウトしますが、嘲笑は非常に長くなり、非常に速くなります。
このようなダミー ストリームを提供する良い方法はありますか?