如何在伊斯坦布尔为 lambda 编写单元测试?

how to write Unit Test for lambda in Istanbul?

我有一个 lambda 函数,它将在 kinesis 数据流事件上触发,并带有一个用于记录的数组。

 exports.handler = function(event, context, callback) {
     event.Records.forEach(function(record) {
         var payload = new Buffer(record.kinesis.data, 'base64');
         var stringPayload = payload.toString();
         //API call  
     });
 }

我正尝试在伊斯坦布尔为这个 lambda 编写测试用例。我已经配置了 Istanbul,并且可以看到默认的覆盖范围 - 但我不知道如何继续。

有谁知道如何做到这一点?或者可以指出有关如何执行此操作的文档吗?

我的理解是我们不能为 lambda 函数编写单元测试,因为它们是匿名函数。我在我的项目中这样做的方式是

  1. 确保使用适当的参数执行来自 lambda 的调用。
  2. 此外,如果它正在修改某些数据,则检查是否确实按照测试设计进行了预期的修改。
  3. lambda 正在执行的任何其他可验证操作。

希望对您有所帮助!