Я использую SDK AWS для NodeJS.
У меня есть модуль (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
. Есть ли способ приблизиться к этому, используя мягко?