unit testing事件驱动的JavaScript

我在用node.js编写一个服务器端应用程序,并希望包含unit testing。 我正在努力的一件事是unit testingEventEmittersetInterval/setTimout的好方法

我有什么selectunit testingasynchronous服务器端JavaScript?

我知道我可以将另一个侦听器附加到作为testingfunction的EventEmitter,但是我怎样才能让testing函数运行? 部分unit testing是为了确保unit testing的每个部分都运行。

我可以自己使用setTimeout,但这似乎是一个黑客的解决scheme。

如果这有帮助,那么我试图testing一些exampler代码。

 ... function init(param) { ... // run update entities periodically setInterval(this._updateEntities.bind(this, param.containerFull), 1000 / param.fps); ... } ... EntityUpdater.prototype = { ... "_updateEntities": function updateEntitiesfunc(fn) { this._tickEmitter.emit( "tick", new dataContainer.DataContainer(this.getEntityCount()) .on( "full", fn.bind(this) ) ); }, ... } ... 

(发射会触发一个事件)

[编辑]

我开始阅读一些EvevntEmittertestinghttps://github.com/ry/node/tree/master/test/simple ,这有助于我看到如何去做这件事。

我会build议你检查茉莉花你的testing。 它是为了在浏览器环境之外运行testing而devise的,它存储了诸如setTimeout调用,为您提供了一个假时钟,您可以随时随地将时间移动到任何与时间相关的testing中。

就我个人而言,最大的帮助是阅读node.js本身的testing(我只读了其中的一半)。

这让我很好的感觉如何testingasynchronous代码。

感谢@tmdean指出了另一个如何testingasynchronous代码的例子。