【问题标题】:Unit Testing on a NodeJS + Typescript AWS Lambda在 NodeJS + Typescript AWS Lambda 上进行单元测试
【发布时间】:2020-09-15 23:29:24
【问题描述】:

哪一种是使用 TypeScript 对 NodeJS 中实现的 lambda 进行单元测试的最佳方法,比如这个虚拟的:

import {Callback} from "aws-lambda";

export interface BinaryEvent {
  number1: number
  number2: number
}

export interface Result {
  result: number
}

export type BinaryOperation = (number1: number, number2: number) => number;

export type BinaryOperationHandler = ({number1, number2}: BinaryEvent, context: any, callback: Callback<Result>) => void;

export const addition: BinaryOperationHandler = ({number1, number2}, context, callback) => {
  setTimeout(() => callback(null, {result: (number1 + number2)}), 1000);
}

【问题讨论】:

    标签: node.js typescript amazon-web-services unit-testing aws-lambda


    【解决方案1】:

    我设法找到了一种使用 jest.fn() 进行单元测试的方法,如下所示:

    import {addition} from "./index";
    
    it('Sums 2 numbers', async() => {
      const number1 = 3, number2 = 2, callback = jest.fn();
      await addition({number1, number2}, {}, callback);
      expect(callback.mock.calls.length).toBe(1);
      expect(callback.mock.calls[0][1].result).toBe(number1 + number2);
    })
    

    github repo 中提供了一个完整的工作虚拟示例:https://github.com/jvillane/aws-sam-lambda-jest-unit-test

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-30
      • 2019-01-22
      • 1970-01-01
      • 2023-04-04
      • 2017-07-24
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多