我正在使用适用于 NodeJS 的AWS开发工具包。
我有一个moduleFoo
像这样设置的模块():
if (global.GENTLY) { require = GENTLY.hijack(require); }
var aws = require("aws-sdk"),
ec2;
exports.initEC2Client = function () {
ec2 = new aws.EC2();
};
exports.doSomething = function () {
var params;
// params gets populated here...
ec2.Client.describeInstances(params, function (err, data) {
// logic!
}
}
我正在尝试消除该describeInstances
方法。
我知道我可以通过以下方式对EC2
班级进行存根:
gently.stub("aws-sdk", "EC2");
根据Gently docs ,我可以通过对其构造函数进行存根来创建一个假实例:
var ec2Stub = gently.stub("aws-sdk", "EC2"),
ec2;
gently.expect(ec2Stub, "new", function () {
ec2 = this;
});
moduleFoo.initEC2Client();
在这一点上,我卡住了。我需要做的是存根出属于的对象的方法ec2
。有没有办法使用 Gently 来解决这个问题?