LoginSignup
16
15

More than 5 years have passed since last update.

Lambda用のプログラムをローカルでテスト実行する方法(簡単編)

Posted at

Serverless Frameworkやaws-sam-localを利用する方法もありますが、そんなに複雑じゃないコードは下記のようにテストするのがいいようです。

方法

lambda用コード

必要に応じていろいろ書く。でも、このコードは実行できない(できるけどテストできない)。

index.js
exports.handler = (event, context, callback) => {
    console.log("foo");
    callback(null,"hoge");
}

テスト用コード

index.jsを呼び出してやるだけだけど、最低限のお作法に従う。

local.test.js
//require
const lambda = require('./index.js');

//とりあつ空っぽで(設定も可能)
const event = "";
const context = "";

//callackの定義
function callback(error, result){

    //まあ、書かなくても大丈夫
    if(typeof error !== 'null'){
        console.error(result);
        process.exit(1);
    }
    //出力(ここがメイン)
    console.log(result);
    process.exit(0);
}

//呼び出し
lambda.handler(event, context, callback);

ローカルでのテスト

ローカルでの確認時はlocal.test.jsを呼び出す(ファイル名は何でも)。

node local.test.js

zipする

全部zipしてアップしても問題ないと思いますが、local.tset.jsを除いてzip。後はアップロードするだけ。

zip -r test.zip index.js node_modules

参考

16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15