我正在尝试为 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”,但它不起作用。
更新:原始代码通过“已连接”outPort 发送 mongodb
实例,我将其缓存以成功发出“错误”事件。
最佳答案
mongojs
扩展了 EventEmitter
。
假设mongodb
是全局的,调用mongodb.emit("error", "This is an error")
来激活error
事件.
如果 mongodb
未定义,请尝试使用 self
的值来访问它。
更多信息:
关于mongodb - 如何在 MongoDB 上模拟 'error' 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25718585/