将 createPrimaryIndex 与 Mock 结合使用

Use createPrimaryIndex with Mock

我尝试在 couchbase nodejs SDK 的单元测试中使用 couchbase.Mock。但是我有这个错误:

createPrimaryIndex is not a function

使用此代码:

cluster = new couchbase.Cluster(options.protocol + "://" + options.server + ":" + options.port);
open().then(() => createPrimaryIndex());

function open() {
    return new Promise((resolve, reject) => {
        bucket = cluster.openBucket(options.bucketName, (error) => {
            if (error) {
                reject(error);
            } else {
                resolve();
            }
        });
    });
}

function createPrimaryIndex() {
    return new Promise((resolve, reject) => {
        bucket.manager().createPrimaryIndex({
            ignoreIfExists: true
        }, (error) => {
            if (error) {
                reject(error);
            } else {
                resolve();
            }
        });
    });
}

当我使用 couchbase 时它工作得很好但是如果我使用 couchbase.Mock

它会失败

并非所有功能都由 mock 实现。

请参阅此论坛 post 关于类似问题和使用 sinon.js 的解决方法:

Node.js Mock N1QL Query Support