2

我正在尝试为 NoFlo 组件(由一位同事编写)编写一个测试用例 - 该组件有一个“连接”inPort 和一个“错误”输出端口,例如:

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 发送一个错误?

我尝试发送像“lcalhost:99999/abcdef”这样的错误 uri,但它不起作用。


更新:原始代码mongodb通过“已连接”输出端口发送实例,我将其缓存以成功发出“错误”事件。

4

1 回答 1

3

mongojs延伸EventEmitter

假设mongodb是全局的,调用mongodb.emit("error", "This is an error")激活error事件。

如果mongodb未定义,请尝试使用 的值self来访问它。

更多信息:

于 2014-09-08T07:03:53.873 回答