proxyquire TypeError:数据存储区不是构造函数

时间:2018-10-11 10:26:50

标签: node.js unit-testing proxyquire

我正在尝试测试以下代码。

const Datastore = require('@google-cloud/datastore');

// Creates a client
const datastore = new Datastore({
  projectId: serviceConfig.projectId
});

我的测试文件包含

  function MockDatastore (config) {
    this.projectId = config.projectId;
  }

  var datastoreStub = {Datastore:MockDatastore}

  return proxyquire('../../../app/persistence', {
    '@google-cloud/datastore': datastoreStub
  });

根据[1],应允许。

[1] https://github.com/thlorenz/proxyquire/issues/63

1 个答案:

答案 0 :(得分:1)

由于API更改了2.x,您应该使用以下代码:

const { Datastore } = require("@google-cloud/datastore");

然后它对我有用。