我正在尝试为NoFlo组件编写测试用例(由同事编写) - 组件中有一个“connect”inPort和一个“error”outPort,如:
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
实例,我将其缓存以成功发出“错误”事件。
答案 0 :(得分:3)
mongojs
延伸EventEmitter
。
假设mongodb
是全球性的,请致电mongodb.emit("error", "This is an error")
以激活error
事件。
如果mongodb
未定义,请尝试使用self
的值来访问它。
更多信息: