首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用dwyl/ AWS模拟aws-模拟不工作

用dwyl/ AWS模拟aws-模拟不工作
EN

Stack Overflow用户
提问于 2016-09-14 18:52:09
回答 2查看 5.4K关注 0票数 5

首先,我没有使用lambda,所以我相信this thread不是同一个问题。

我在before钩子中得到了这个错误:

代码语言:javascript
运行
复制
TypeError: Attempted to wrap undefined property S3 as function
      at checkWrappedMethod (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/util/core.js:78:29)
      at Object.wrapMethod (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/util/core.js:121:21)
      at Object.stub (node_modules/aws-sdk-mock/node_modules/sinon/lib/sinon/stub.js:67:26)
      at mockService (node_modules/aws-sdk-mock/index.js:67:27)
      at Object.AWS.mock (node_modules/aws-sdk-mock/index.js:43:5)
      at Context.<anonymous> (myModule.spec.js:14:9)

我以前从未使用过这个模块,我对sinon.js也没有太多的经验。

这是我的模块:

代码语言:javascript
运行
复制
var AWS = require('aws-sdk')
const https = require('https')

module.exports = function () {
    var s3 = new AWS.S3({
      httpOptions: {
        agent: new https.Agent()
      },
      signatureVersion: 'v4'
    })
    return s3.getObject({Bucket: 'somebucket', Key: 'somekey'}).promise()
}

下面是我的测试脚本:

代码语言:javascript
运行
复制
const chai = require('chai')
const chaiAsPromised = require('chai-as-promised')

const AWS = require('aws-sdk-mock')
const myFunc = require('./myModule')

chai.use(chaiAsPromised)
const expect = chai.expect
chai.should()

describe('Get MMS API Key', function () {

  before(function () {
    AWS.mock('S3', 'getObject', function (params, callback) {
      callback(null, 'dummy-data')
    })
  })

  it('Should get dummy data', function () {
    myFunc().should.eventually.equal('dummy-data')
  })

  after(function () {
    AWS.restore('S3', 'getObject')
  })
})

有什么想法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-15 10:31:37

我也有同样的问题。请检查节点模块下的-> aws版本.我的是2.6.2,但不起作用。临时修复是使用AWS-SDK2.5.5版本。他们可能很快就会修复所有版本,正如aws模拟模块中所说的那样。aws模拟应该适用于所有的aws版本,超过2.3.0。

票数 2
EN

Stack Overflow用户

发布于 2016-09-23 04:19:56

我也面临着同样的问题,但我试图嘲笑DynamoDB而不是S3。也记录了同样的问题。这个bug现在用最新版本的aws (v2.6.4)修复了。如果你用最新版本2.6.4来拍摄它,那就太好了。

谢了,扎伊德

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39497658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档