我正在尝试为 NoFlo 组件(由同事编写)编写一个测试用例 - 该组件有一个“连接”输入端口和一个“错误”输出端口,例如:
var self = this; // a NoFlo Component
var mongodb = null;
self.inPorts.connect.on("data", function(uri) {
mongodb = mongojs(uri);
self.outPorts.connected.send(mongodb);
mongodb.on("error", function(error) {
self.outPorts.error.send(error);
});
});
那么根据这个代码模式,我应该如何模拟错误情况(在测试用例中)以便它通过outPort发送错误?
我尝试发送一个错误的 uri,如“lcalhost:99999/abcdef”,但它不起作用。
Update:原始代码发送mongodb
通过“已连接”的 outPort 实例,我将其缓存以成功发出“错误”事件。
mongojs
延伸EventEmitter
.
假设mongodb
是全局的,调用mongodb.emit("error", "This is an error")
激活error
event.
If mongodb
未定义,请尝试使用的值self
来访问它。
更多信息:
- http://nodejs.org/api/events.html#events_emitter_emit_event_arg1_arg2 http://nodejs.org/api/events.html#events_emitter_emit_event_arg1_arg2
- https://github.com/mafintosh/mongojs/blob/master/index.js https://github.com/mafintosh/mongojs/blob/master/index.js
- http://cjohansen.no/talks/2011/xp-meetup/#70 http://cjohansen.no/talks/2011/xp-meetup/#70
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)