我试图单元测试我的一个node-js模块,它在流中大量处理。我试图模拟一个流(我将写入),因为在我的模块中我有“.on('data/end)”我想要触发的侦听器。基本上我希望能够做这样的事情:如何在NodeJS中模拟流
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();
此执行,但之后我做推(和.close()是无效的)的“关于”事件永远不会被解雇。
我可以在流上找到的所有指导都使用'fs'或'net'库作为创建新流的基础(https://github.com/substack/stream-handbook),或者他们用sinon嘲笑它,但嘲笑变得非常漫长非常快。
有没有一种很好的方式来提供这样的虚拟流?
校正:'新要求( '流')可读()'(请注意资本R) – Jonny
需要不是一个构造,这将工作的w/o。新的关键字 – Spets