Хорошая привычка - извлекать основную функциональность из функции в своем классе / модуле / функции. Поскольку AWS Lambda, функции Azure и функция GCP имеют небольшие изменения в интерфейсе, это значительно упростит миграцию.
Например:
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
// You can call and await an async method here
return {
body: "Hello, world!"
};
}
Будет:
// keep just a single line of code here
module.exports = async function (context, req) {
return doAction();
}
const doAction = () => {
context.log('JavaScript HTTP trigger function processed a request.');
// You can call and await an async method here
return {
body: "Hello, world!"
};
}
И теперь вы можете выполнить Jest-тест на doAction (), с простым Node, без связи с лямбда-кодом / кодом функций