1
對於我的以下代碼,S3Handler
,我有以下測試,它返回錯誤:TypeError: undefined is not a function
。nodejs test - TypeError:undefined不是函數
行引發錯誤就是testedModule._get(bucketName, imgName, function() {
爲什麼會出現這個錯誤?
S3Handler
:
'use strict';
var s3 = new (require('aws-sdk')).S3();
var S3Handler = {};
S3Handler._get = function (bucketName, imgName, callback) {
var params = {
Bucket: bucketName,
Key: imgName
};
s3.getObject(params, function (error, data) {
if (error) {
return callback(error, null);
}
console.log(data);
return callback(null, data);
});
};
測試:
describe("S3Handler", function() {
describe("S3Handler._get", function() {
var testedModule, imgName, callbackSpy, bucketName, getStub, fakeResponse, s3Stub;
before(function() {
fakeResponse = {Body: "Image content"};
imgName = "test.jpg";
bucketName = "testBucket";
callbackSpy = sinon.spy();
getStub = sinon.stub();
s3Stub = sinon.stub().returns({getObject: getStub});
testedModule = proxyquire("../S3Handler.js", {
'aws-sdk': {
"S3": s3Stub
}
});
});
it("fetch object from S3Bucket", function() {
getStub.withArgs(bucketName, imgName).callsArgWith(1, null, fakeResponse);
testedModule._get(bucketName, imgName, function() {
callbackSpy.apply(null, fakeResponse);
});
});
});
});
哪一行會引發錯誤? – marekful
'testedModule._get(bucketName,imgName,function(){' – hyprstack