aws-sdk s3上传不工作从摩卡testing

尝试从摩卡testing运行s3上传:

'use strict'; describe('S3 test', function() { it.only('S3 test 1', function*() { var AWS = require('aws-sdk'); //AWS.config.region = 'us-west-2'; var s3 = new AWS.S3({ params: { Bucket: 'test-1-myBucket', Key: 'myKey' } }); s3.createBucket(function(err) { if (err) { console.log("Error:", err); } else { s3.upload({ Body: 'Hello!' }, function() { console.log("Successfully uploaded data to myBucket/myKey"); }); } }); }); }); 

但没有任何反应,它根本不发送http请求。 这是为什么?

卫生署。 它的asynchronous,所以我需要使用完成callback:

 'use strict'; describe('S3 test', function() { it.only('S3 test 1', function(done) { var AWS = require('aws-sdk'); //AWS.config.region = 'us-west-2'; var s3 = new AWS.S3({ params: { Bucket: 'mkruk-myBucket', Key: 'myKey' } }); s3.createBucket(function(err) { if (err) { console.log("Error:", err); done(); } else { s3.upload({ Body: 'Hello!' }, function() { console.log("Successfully uploaded data to myBucket/myKey"); done(); }); } }); }); }); 

可能会缺lessaccessKeyId和secretAccessKey

 var s3 = new AWS.S3({ accessKeyId: "", secretAccessKey: "" }); 

然后

 s3.upload({ Bucket: 'test-1-myBucket', Key: 'myKey' Body: 'Hello!', }