我正在使用包 aws-param-store,并且正在尝试编写对 getParametersByPath() 进行存根调用的单元测试。包可以在这里找到: https ://www.npmjs.com/package/aws-param-store
这是我用来存根调用的 sinon 代码。函数 getParametersByPath 是一个异步函数,所以我试图返回一个已解决的承诺来存根它:
const awsParameterStore = require('aws-param-store');
const sinon = require("sinon");
let sandbox = sinon.createSandbox();
// In My Test:
let parms = new Map();
parms.set("key1","value1");
parms.set("key2","value2");
sandbox.stub(awsParameterStore,'getParametersByPath').callsFake(async function(prefix){
console.log("INSIDE STUB for getParametersByPath:" + prefix);
return Promise.resolve(parms);
});
我的应用程序像这样调用函数:
let parameters = await awsParameterStore.getParametersByPath("/foo");
但是,我没有取回虚拟参数的映射,而是得到一个空对象 {}。我可以看到存根被调用。关于如何正确存根的任何想法,以便我可以在单元测试中返回一些虚拟参数?谢谢!