aws-sdk s3 上传不适用于 mocha 测试
aws-sdk s3 upload not working from mocha test
尝试从 mocha 测试运行 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 请求。这是为什么?
可能缺少 accessKeyId 和 secretAccessKey
var s3 = new AWS.S3({
accessKeyId: "",
secretAccessKey: ""
});
然后
s3.upload({
Bucket: 'test-1-myBucket',
Key: 'myKey'
Body: 'Hello!',
}
呵呵。它是异步的,所以我需要使用 done 回调:
'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();
});
}
});
});
});
尝试从 mocha 测试运行 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 请求。这是为什么?
可能缺少 accessKeyId 和 secretAccessKey
var s3 = new AWS.S3({
accessKeyId: "",
secretAccessKey: ""
});
然后
s3.upload({
Bucket: 'test-1-myBucket',
Key: 'myKey'
Body: 'Hello!',
}
呵呵。它是异步的,所以我需要使用 done 回调:
'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();
});
}
});
});
});