2016-09-14 4 views
2

まず、ラムダを使用していないので、this threadは同じ質問ではないと思います。dwyl/aws-sdk-mockでAWSをモックできない

私はbeforeフックでこのエラーを取得しています:私はsinon.jsで多くの経験を持っていないんどちらも前に

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) 

私はこのモジュールを使用したことがありません。ここで

は私のモジュールである。ここでは

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() 
} 

は私のテストスクリプトは次のとおりです。

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') 
    }) 
}) 

思考?

答えて

2

私は同じ問題を抱えています。 node-modules-> aws-sdkバージョンで確認してください。鉱山は2.6.2で、それは機能しませんでした。 一時的な修正は、aws-sdk 2.5.5バージョンを使用することです。 aws-sdk-mockモジュールに記載されているように、すべてのバージョンで修正される予定です。 aws-sdk-mockは2.3.0より大きいすべてのaws-sdkバージョンで動作するはずです。

0

私も同じ問題に直面しましたが、S3ではなくDynamoDBをモックしようとしていました。同じ問題を記録していた。このバグはaws-sdk(v2.6.4)の最新バージョンで修正されました。あなたが最新のバージョン2.6.4を指しているショットを与えるならば素晴らしいでしょう。

ありがとう、 Zaid

関連する問題