Я пытаюсь написать модульный тест для следующей функции с функцией обратного вызова в качестве аргумента, и она возвращает обещание. Элемент управления не может войти в метод обратного вызова при выполнении модульного теста
function addToCache (cacheProxy, policy, cacheObj, req) {
const logger = global.logger;
return new Promise(function (resolve, reject) {
cacheProxy.put(policy, req, cacheObj, function (error, response) {
if (error) {
console.error("some error occurred while adding object");
reject(error);
} else {
if (response && response.statusCode) {
console.log(`got a valid response with responseCode ${response.statusCode}`);
resolve(response);
} else {
console.error("status code missing in response");
reject(response);
}
}
});
});
}
Вот модульный тест, который я написал, но элемент управления не входит в метод анонимного обратного вызова, определенный в аргументе метода cacheProxy.put.
describe("mediator tests", function () {
it("addToCache", async () => {
const cacheProxy = {
put: function (policy, req, cacheObj, callback) {}
};
medicator.addToCache(cacheProxy, "dummy_policy", "123456789012", {}).then((result) => {
expect(result.statusCode).to.equal(200);
});
});
});
Я надеюсь, что кто-то может мне помочь.