【问题标题】:proxyquire TypeError: Datastore is not a constructorproxyquire TypeError:数据存储不是构造函数
【发布时间】:2019-03-16 09:39:02
【问题描述】:

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

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

【问题讨论】:

    标签: node.js unit-testing proxyquire


    【解决方案1】:

    由于 API 更改 2.x,您应该使用这个:

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

    然后它对我有用。

    【讨论】:

    • 谢谢,这正是我们所需要的!
    猜你喜欢
    • 2019-08-14
    • 2018-03-06
    • 2018-06-27
    • 2016-04-16
    • 2021-11-26
    • 2019-10-27
    • 2018-07-18
    相关资源
    最近更新 更多