首页 > 解决方案 > AWS lambda 中的 Pytest

问题描述

有什么方法可以使用 pytest 对 AWS lambda 函数中的函数执行单元测试?

假设我有一个 lambda 函数,如下所示:

def func1(x,y):
   return x+y

def func2(x,y):
   return x-y

def handler(event,context):
   x = event["x"]
   y = event["y"]
   
   def func3(x,y):
      return x*y

   print(func1(x,y))
   print(func2(x,y))
   print(func3(x,y))

请原谅功能的额外简单性。我想在这些函数上使用pytestfunc1进行单元测试,func2并且func3.

有什么办法可以在 AWS lambda 中做到吗?

标签: pythonamazon-web-servicesunit-testingaws-lambdapytest

解决方案


您介绍的代码没有什么特别之处。

确实这def handler(event,context):是 lambda 的入口点,但其余函数只是常规的 Python 函数,您可以编写 UT 并对其进行测试。

当 lambda 部署在 AWS 上时,UT 将不会运行。它们可以在开发者机器或 CI/CD 环境中运行。


推荐阅读