【问题标题】:jest-aws-sdk-mock broke when updating dependencies更新依赖项时 jest-aws-sdk-mock 坏了
【发布时间】:2021-08-02 11:47:34
【问题描述】:

应用程序本身是一个用 Node.js 编写的 Lambda 处理程序。在“npm update”之后,一些子依赖,babel?,很可能会干扰并做一些改变。

我们的 AWS 代码在一个模块中初始化,如下所示:

const AWS = require('aws-sdk')

AWS.config.update({
  accessKeyId: process.env.AWS_ACCESSKEY_ID,
  secretAccessKey: process.env.AWS_ACCESSKEY_SECRET,
  region: process.env.AWS_REGION
})

module.exports= {
  s3: new AWS.S3(),
  dynamodb: new AWS.DynamoDB({ apiVersion: '2012-08-10' }),
  <more similar exports>
}

module.exports.default = AWS

当我尝试在服务上模拟方法时,我会收到与该服务相关的错误:

TypeError: AWS.DynamoDB is not a constructor

【问题讨论】:

    标签: node.js jestjs aws-sdk-mock


    【解决方案1】:

    这解决了我的问题,不确定是否正确,但至少我可以继续前进。

    const AWS = require('aws-sdk')
    
    AWS.config.update({
      accessKeyId: process.env.AWS_ACCESSKEY_ID,
      secretAccessKey: process.env.AWS_ACCESSKEY_SECRET,
      region: process.env.AWS_REGION
    })
    
    const S3 = require('aws-sdk/clients/s3')
    const DynamoDB = require('aws-sdk/clients/dynamodb')
    
    module.exports= {
      s3: new S3(),
      dynamodb: new DynamoDB({ apiVersion: '2012-08-10' }),
      <more similar exports>
    }
    
    module.exports.default = AWS
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-15
      • 2021-06-01
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 1970-01-01
      相关资源
      最近更新 更多