【发布时间】:2015-05-21 01:58:28
【问题描述】:
我有一个名为 NetFlowStorage 的对象,其中包含访问特定弹性搜索索引的方法。我的构造函数看起来像:
function NetFlowStorage() {
this.host = 'localhost:9200';
this.shards = '4';
this.replicas = '0';
this.index_name = 'flow_track2';
this.client = null;
}
在对象内部,我有一个名为 connect 的方法,当调用该方法时,它将建立连接并将 elasticsearch 客户端对象存储在 this.client 属性中(如果还没有的话)。这样所有对象方法都可以通过this.client访问elasticsearch客户端
第一个问题,这是一个合适的模式吗?如果不是,什么是可取的?
第二个问题(也是驱使我来到这里的问题),我将如何模拟对 this.client.index({}) 之类的调用我刚刚开始在 node/js 下进行单元测试和模拟,所以我真的没有框架方面的偏好(目前使用 mocha/chai/sinon)
如果您想查看更多详细信息,完整代码是here。
【问题讨论】:
-
这篇文章可能有兴趣clock.co.uk/blog/…
标签: javascript node.js unit-testing oop elasticsearch